nix-daemon: preserve errno in signal handler (thanks tsan)

This commit is contained in:
Will Dietz 2018-03-14 21:39:01 -05:00
parent 55aa622fb1
commit d98755b0c2

View file

@ -816,8 +816,11 @@ static void processConnection(bool trusted)
static void sigChldHandler(int sigNo)
{
// Ensure we don't modify errno of whatever we've interrupted
auto saved_errno = errno;
/* Reap all dead children. */
while (waitpid(-1, 0, WNOHANG) > 0) ;
errno = saved_errno;
}