X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmain.c;h=8ee12ef8fabfe49050702728da3e6b32da0eb8f7;hb=3210412576857e26c18bd0d154906bd7444f5529;hp=863ba527cc9d10b174b9c21d305fdce25d72e55d;hpb=9e01adfa90ab48e24b55a507d68768fc12e951f3;p=elogind.git diff --git a/src/core/main.c b/src/core/main.c index 863ba527c..8ee12ef8f 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1548,7 +1548,7 @@ int main(int argc, char *argv[]) { log_info("Running with unpopulated /etc."); } else { _cleanup_free_ char *t = uid_to_name(getuid()); - log_debug(PACKAGE_STRING " running in user mode for user "PID_FMT"/%s. (" SYSTEMD_FEATURES ")", + log_debug(PACKAGE_STRING " running in user mode for user "UID_FMT"/%s. (" SYSTEMD_FEATURES ")", getuid(), t); } @@ -1824,7 +1824,7 @@ finish: if (reexecute) { const char **args; unsigned i, args_size; - sigset_t ss, o_ss; + sigset_t ss; /* Close and disarm the watchdog, so that the new * instance can reinitialize it, but doesn't get @@ -1910,8 +1910,10 @@ finish: /* reenable any blocked signals, especially important * if we switch from initial ramdisk to init=... */ - sigemptyset(&ss); - sigprocmask(SIG_SETMASK, &ss, &o_ss); + reset_all_signal_handlers(); + + assert_se(sigemptyset(&ss) == 0); + assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); if (switch_root_init) { args[0] = switch_root_init; @@ -1931,8 +1933,6 @@ finish: log_error("Failed to execute /bin/sh, giving up: %m"); } else log_warning("Failed to execute /sbin/init, giving up: %m"); - - sigprocmask(SIG_SETMASK, &o_ss, NULL); } if (arg_serialization) {