civodul pushed a commit to branch master
in repository guix.
commit 7bad04fac09173f63800464ca0868225f6a99bd1
Author: Ludovic Courtès <[email protected]>
AuthorDate: Mon Mar 17 11:23:21 2025 +0100
daemon: Close the read end of the logging pipe.
* nix/libutil/util.cc (commonChildInit): Close ‘logPipe.readSide’.
Reported-by: Reepca Russelstein <[email protected]>
Change-Id: Ia9e48d1afb85d7af52770e016f2b6832792044dd
---
nix/libutil/util.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index eb2d16e1cc..56f116046c 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -1279,6 +1279,9 @@ void commonChildInit(Pipe & logPipe)
if (setsid() == -1)
throw SysError(format("creating a new session"));
+ /* Close the read end so only the parent holds a reference to it. */
+ logPipe.readSide.close();
+
/* Dup the write side of the logger pipe into stderr. */
if (dup2(logPipe.writeSide, STDERR_FILENO) == -1)
throw SysError("cannot pipe standard error into log file");