X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fexecute.c;h=066efd6fdf1c41ec0b90c51dfae13cbe212de7fd;hb=1b6d7fa742e303611dff8d7ebfa86ee5fb8b7dc7;hp=b5b22472d5a9f8ff954ad409484e4cef7aaedca8;hpb=1dedb74a2e1d840b531b76b01a76979f3b57456b;p=elogind.git diff --git a/src/core/execute.c b/src/core/execute.c index b5b22472d..066efd6fd 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1301,7 +1301,6 @@ int exec_spawn(ExecCommand *command, int dont_close[n_fds + 3]; uid_t uid = (uid_t) -1; gid_t gid = (gid_t) -1; - sigset_t ss; int i, err; /* child */ @@ -1319,9 +1318,8 @@ int exec_spawn(ExecCommand *command, if (context->ignore_sigpipe) ignore_signals(SIGPIPE, -1); - assert_se(sigemptyset(&ss) == 0); - if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) { - err = -errno; + err = reset_signal_mask(); + if (err < 0) { r = EXIT_SIGNAL_MASK; goto fail_child; }