diff --git a/Userland/Libraries/LibCore/LocalServer.cpp b/Userland/Libraries/LibCore/LocalServer.cpp index d246e2c8db..d4ed0cac75 100644 --- a/Userland/Libraries/LibCore/LocalServer.cpp +++ b/Userland/Libraries/LibCore/LocalServer.cpp @@ -54,7 +54,9 @@ void LocalServer::setup_notifier() if (on_accept) { auto maybe_client_socket = accept(); if (maybe_client_socket.is_error()) { - dbgln("LocalServer::on_ready_to_read: Error accepting a connection: {} (FIXME: should propagate!)", maybe_client_socket.error()); + dbgln("LocalServer::on_ready_to_read: Error accepting a connection: {}", maybe_client_socket.error()); + if (on_accept_error) + on_accept_error(maybe_client_socket.release_error()); return; } diff --git a/Userland/Libraries/LibCore/LocalServer.h b/Userland/Libraries/LibCore/LocalServer.h index 8554ec5937..c4854a7069 100644 --- a/Userland/Libraries/LibCore/LocalServer.h +++ b/Userland/Libraries/LibCore/LocalServer.h @@ -24,6 +24,7 @@ public: ErrorOr> accept(); Function)> on_accept; + Function on_accept_error; private: explicit LocalServer(Object* parent = nullptr);