summaryrefslogtreecommitdiff
path: root/Services/ProtocolServer/ClientConnection.cpp
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-07-06 13:27:25 +0200
committerAndreas Kling <kling@serenityos.org>2020-07-06 13:30:11 +0200
commit6f059ee83056098652f3acb4f43c13cd898b3d0a (patch)
tree9fb38d2912aca53d172099da46f43d5ee6490a3e /Services/ProtocolServer/ClientConnection.cpp
parenta122a544da0f05263cfb8fe7841325ef58364bb8 (diff)
downloadserenity-6f059ee83056098652f3acb4f43c13cd898b3d0a.zip
ProtocolServer: Turn this into a multi-instance service
Everyone who connects to ProtocolServer now gets his own instance. This means that different users can no longer talk to the same exact ProtocolServer process, enhanching security and stability.
Diffstat (limited to 'Services/ProtocolServer/ClientConnection.cpp')
-rw-r--r--Services/ProtocolServer/ClientConnection.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/Services/ProtocolServer/ClientConnection.cpp b/Services/ProtocolServer/ClientConnection.cpp
index 2b72ef0025..cbe21dd1ef 100644
--- a/Services/ProtocolServer/ClientConnection.cpp
+++ b/Services/ProtocolServer/ClientConnection.cpp
@@ -48,6 +48,8 @@ ClientConnection::~ClientConnection()
void ClientConnection::die()
{
s_connections.remove(client_id());
+ if (s_connections.is_empty())
+ Core::EventLoop::current().quit(0);
}
OwnPtr<Messages::ProtocolServer::IsSupportedProtocolResponse> ClientConnection::handle(const Messages::ProtocolServer::IsSupportedProtocol& message)