From 211b51dab7be118ee2958eed003461808849b86d Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Mon, 5 Aug 2019 15:31:38 +0300 Subject: [PATCH] CEventLoop: Create the wake pipe with O_CLOEXEC This ensures the pipe fds don't leak into child processes. This manifested as the Shell (and all processes started from the shell) having two mysterious FIFOs open. This was happening because of the Terminal, which the shell was spawned form, leaking its CEventLoop wake pipe fds. --- Libraries/LibCore/CEventLoop.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/LibCore/CEventLoop.cpp b/Libraries/LibCore/CEventLoop.cpp index 8d8a786f8e..2e50891b15 100644 --- a/Libraries/LibCore/CEventLoop.cpp +++ b/Libraries/LibCore/CEventLoop.cpp @@ -36,7 +36,7 @@ CEventLoop::CEventLoop() if (!s_main_event_loop) { s_main_event_loop = this; - int rc = pipe(s_wake_pipe_fds); + int rc = pipe2(s_wake_pipe_fds, O_CLOEXEC); ASSERT(rc == 0); s_event_loop_stack->append(this); }