summaryrefslogtreecommitdiff
path: root/Userland/Services
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-11-29 17:12:55 +0100
committerAndreas Kling <kling@serenityos.org>2021-11-30 23:34:40 +0100
commit314a687eeb2193ffa32bb21b41b28d2ba1854160 (patch)
tree7dfcccc6f24992cf96c41303742f5a1baadbe195 /Userland/Services
parent8c8bf9433f95e5ec18c559a52220a07c42700fdf (diff)
downloadserenity-314a687eeb2193ffa32bb21b41b28d2ba1854160.zip
ImageDecoder: Remove unnecessary client map
ImageDecoder processes only serve a single client, so we don't need to keep a map of them.
Diffstat (limited to 'Userland/Services')
-rw-r--r--Userland/Services/ImageDecoder/ClientConnection.cpp10
-rw-r--r--Userland/Services/ImageDecoder/ClientConnection.h2
-rw-r--r--Userland/Services/ImageDecoder/main.cpp2
3 files changed, 5 insertions, 9 deletions
diff --git a/Userland/Services/ImageDecoder/ClientConnection.cpp b/Userland/Services/ImageDecoder/ClientConnection.cpp
index 2522d7bba1..6b8ec20faf 100644
--- a/Userland/Services/ImageDecoder/ClientConnection.cpp
+++ b/Userland/Services/ImageDecoder/ClientConnection.cpp
@@ -12,12 +12,9 @@
namespace ImageDecoder {
-static HashMap<int, RefPtr<ClientConnection>> s_connections;
-
-ClientConnection::ClientConnection(NonnullRefPtr<Core::LocalSocket> socket, int client_id)
- : IPC::ClientConnection<ImageDecoderClientEndpoint, ImageDecoderServerEndpoint>(*this, move(socket), client_id)
+ClientConnection::ClientConnection(NonnullRefPtr<Core::LocalSocket> socket)
+ : IPC::ClientConnection<ImageDecoderClientEndpoint, ImageDecoderServerEndpoint>(*this, move(socket), 1)
{
- s_connections.set(client_id, *this);
}
ClientConnection::~ClientConnection()
@@ -26,8 +23,7 @@ ClientConnection::~ClientConnection()
void ClientConnection::die()
{
- s_connections.remove(client_id());
- exit(0);
+ Core::EventLoop::current().quit(0);
}
Messages::ImageDecoderServer::DecodeImageResponse ClientConnection::decode_image(Core::AnonymousBuffer const& encoded_buffer)
diff --git a/Userland/Services/ImageDecoder/ClientConnection.h b/Userland/Services/ImageDecoder/ClientConnection.h
index 3c1efc7512..01cb037c7a 100644
--- a/Userland/Services/ImageDecoder/ClientConnection.h
+++ b/Userland/Services/ImageDecoder/ClientConnection.h
@@ -25,7 +25,7 @@ public:
virtual void die() override;
private:
- explicit ClientConnection(NonnullRefPtr<Core::LocalSocket>, int client_id);
+ explicit ClientConnection(NonnullRefPtr<Core::LocalSocket>);
virtual Messages::ImageDecoderServer::DecodeImageResponse decode_image(Core::AnonymousBuffer const&) override;
};
diff --git a/Userland/Services/ImageDecoder/main.cpp b/Userland/Services/ImageDecoder/main.cpp
index 7af4cbacc7..a273ce20ae 100644
--- a/Userland/Services/ImageDecoder/main.cpp
+++ b/Userland/Services/ImageDecoder/main.cpp
@@ -18,7 +18,7 @@ ErrorOr<int> serenity_main(Main::Arguments)
TRY(Core::System::unveil(nullptr, nullptr));
auto socket = TRY(Core::LocalSocket::take_over_accepted_socket_from_system_server());
- IPC::new_client_connection<ImageDecoder::ClientConnection>(move(socket), 1);
+ auto client = IPC::new_client_connection<ImageDecoder::ClientConnection>(move(socket));
TRY(Core::System::pledge("stdio recvfd sendfd"));
return event_loop.exec();
}