Explorar o código

LibCore: Don't try to unlink stale sockets in /tmp/rpc/

This was very obviously racy and would only succeed if we already own
the socket anyway. (And if we do, we can bind to it without unlinking!)

Work towards #4876.
Andreas Kling %!s(int64=4) %!d(string=hai) anos
pai
achega
f152b6f7ed
Modificáronse 1 ficheiros con 1 adicións e 7 borrados
  1. 1 7
      Libraries/LibCore/EventLoop.cpp

+ 1 - 7
Libraries/LibCore/EventLoop.cpp

@@ -314,18 +314,12 @@ EventLoop::~EventLoop()
 
 bool EventLoop::start_rpc_server()
 {
-    auto rpc_path = String::formatted("/tmp/rpc/{}", getpid());
-    auto rc = unlink(rpc_path.characters());
-    if (rc < 0 && errno != ENOENT) {
-        perror("unlink");
-        return false;
-    }
     s_rpc_server = LocalServer::construct();
     s_rpc_server->set_name("Core::EventLoop_RPC_server");
     s_rpc_server->on_ready_to_accept = [&] {
         RPCClient::construct(s_rpc_server->accept());
     };
-    return s_rpc_server->listen(rpc_path);
+    return s_rpc_server->listen(String::formatted("/tmp/rpc/{}", getpid()));
 }
 
 EventLoop& EventLoop::main()