Browse Source

ImageDecoder: Remove unnecessary client map

ImageDecoder processes only serve a single client, so we don't need to
keep a map of them.
Andreas Kling 3 năm trước cách đây
mục cha
commit
314a687eeb

+ 3 - 7
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)

+ 1 - 1
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;
 };

+ 1 - 1
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();
 }