This is a minimum POC of what could be done to remove signals when handling children in git-daemon. The advantage is that it is at least portable to *NIX systems, unlike using a Linux specific API like pidfd which also allows collecting status from children through fds. It has to do some innefficient management of the fds array that is given to poll, and wouldn't work as a general solution, since the children could close the pipe() used for tracking unintentionally, but since we control both sides in this case, that might not be a problem. Carlo Marcelo Arenas Belón (2): run-command: add a pipe() write end to childs daemon: poor man's pidfd like POC daemon.c | 74 ++++++++++++++++++++++++++++++++++++--------------- run-command.c | 3 +++ run-command.h | 2 ++ 3 files changed, 57 insertions(+), 22 deletions(-) -- 2.39.5 (Apple Git-154)