X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmain.c;h=6c3d9bfb189d071000d120e33e43338be01f1253;hb=6e8df5f00a3874decf1e5542da3d65b25f6da1dc;hp=bc92f65fd6c9d211029aa104ecb31ba05f383030;hpb=71a6151083d842b2f5bf04e50239f0bf85d34d2e;p=elogind.git diff --git a/src/core/main.c b/src/core/main.c index bc92f65fd..6c3d9bfb1 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -131,7 +131,7 @@ _noreturn_ static void crash(int sig) { pid = fork(); if (pid < 0) - log_error("Caught <%s>, cannot fork for core dump: %s", signal_to_string(sig), strerror(errno)); + log_error("Caught <%s>, cannot fork for core dump: %m", signal_to_string(sig)); else if (pid == 0) { struct rlimit rl = {}; @@ -1531,7 +1531,7 @@ int main(int argc, char *argv[]) { if (arg_running_as == SYSTEMD_SYSTEM) bump_rlimit_nofile(&saved_rlimit_nofile); - r = manager_new(arg_running_as, !!serialization, &m); + r = manager_new(arg_running_as, &m); if (r < 0) { log_error("Failed to allocate manager object: %s", strerror(-r)); goto finish; @@ -1745,7 +1745,7 @@ finish: * initrd, but don't wait for them, so that we * can handle the SIGCHLD for them after * deserializing. */ - broadcast_signal(SIGTERM, false); + broadcast_signal(SIGTERM, false, true); /* And switch root */ r = switch_root(switch_root_dir);