From 4ae6b564d3c3c6324024eaa0a366c53e1be8dd04 Mon Sep 17 00:00:00 2001 From: Srivats P Date: Sun, 27 Dec 2020 12:52:47 +0530 Subject: [PATCH] Close existing RPC connections at exit Fixes #314 --- rpc/rpcserver.cpp | 3 +++ rpc/rpcserver.h | 1 + 2 files changed, 4 insertions(+) diff --git a/rpc/rpcserver.cpp b/rpc/rpcserver.cpp index e0eb51a..4bb59b4 100644 --- a/rpc/rpcserver.cpp +++ b/rpc/rpcserver.cpp @@ -33,6 +33,8 @@ RpcServer::RpcServer(bool perConnLogs) RpcServer::~RpcServer() { + close(); + emit closed(); } bool RpcServer::registerService(::google::protobuf::Service *service, @@ -73,6 +75,7 @@ void RpcServer::incomingConnection(qintptr socketDescriptor) connect(this, SIGNAL(notifyClients(int, SharedProtobufMessage)), conn, SLOT(sendNotification(int, SharedProtobufMessage))); + connect(this, SIGNAL(closed()), thread, SLOT(quit())); thread->start(); } diff --git a/rpc/rpcserver.h b/rpc/rpcserver.h index c664512..4508e64 100644 --- a/rpc/rpcserver.h +++ b/rpc/rpcserver.h @@ -44,6 +44,7 @@ public: QHostAddress address, quint16 tcpPortNum); signals: + void closed(); void notifyClients(int notifType, SharedProtobufMessage notifData); protected: