X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmain.c;h=d2411447f7349df11489615369ce35472a20684f;hp=d7d3995e1b13a4f4b7cf8cdf3f48828332dc3d13;hb=7020e8be3f0e207ceacc8b3c8c0b1f6c99597ea8;hpb=4288f619215e3dda0b75113d78e4fb7ba219ed58 diff --git a/src/main.c b/src/main.c index d7d3995e1..d2411447f 100644 --- a/src/main.c +++ b/src/main.c @@ -58,7 +58,7 @@ static int crash_chvt = -1; static bool confirm_spawn = false; static FILE* serialization = NULL; -_noreturn static void freeze(void) { +_noreturn_ static void freeze(void) { for (;;) pause(); } @@ -66,7 +66,7 @@ _noreturn static void freeze(void) { static void nop_handler(int sig) { } -_noreturn static void crash(int sig) { +_noreturn_ static void crash(int sig) { if (!dump_core) log_error("Caught <%s>, not dumping core.", strsignal(sig)); @@ -233,8 +233,8 @@ static int parse_proc_cmdline_word(const char *word) { "5", SPECIAL_RUNLEVEL5_TARGET }; - if (startswith(word, "systemd.default=")) - return set_default_unit(word + 16); + if (startswith(word, "systemd.unit=")) + return set_default_unit(word + 13); else if (startswith(word, "systemd.log_target=")) { @@ -284,7 +284,7 @@ static int parse_proc_cmdline_word(const char *word) { log_warning("Unknown kernel switch %s. Ignoring.", word); log_info("Supported kernel switches:"); - log_info("systemd.default=UNIT Default unit to start"); + log_info("systemd.default_unit=UNIT Default unit to start"); log_info("systemd.log_target=console|kmsg|syslog Log target"); log_info("systemd.log_level=LEVEL Log level"); log_info("systemd.dump_core=0|1 Dump core on crash"); @@ -343,7 +343,7 @@ static int parse_argv(int argc, char *argv[]) { enum { ARG_LOG_LEVEL = 0x100, ARG_LOG_TARGET, - ARG_DEFAULT, + ARG_UNIT, ARG_RUNNING_AS, ARG_TEST, ARG_DUMP_CONFIGURATION_ITEMS, @@ -355,7 +355,7 @@ static int parse_argv(int argc, char *argv[]) { static const struct option options[] = { { "log-level", required_argument, NULL, ARG_LOG_LEVEL }, { "log-target", required_argument, NULL, ARG_LOG_TARGET }, - { "default", required_argument, NULL, ARG_DEFAULT }, + { "unit", required_argument, NULL, ARG_UNIT }, { "running-as", required_argument, NULL, ARG_RUNNING_AS }, { "test", no_argument, NULL, ARG_TEST }, { "help", no_argument, NULL, 'h' }, @@ -392,7 +392,7 @@ static int parse_argv(int argc, char *argv[]) { break; - case ARG_DEFAULT: + case ARG_UNIT: if ((r = set_default_unit(optarg)) < 0) { log_error("Failed to set default unit %s: %s", optarg, strerror(-r)); @@ -582,8 +582,9 @@ int main(int argc, char *argv[]) { /* Mount /proc, /sys and friends, so that /proc/cmdline and * /proc/$PID/fd is available. */ - if (mount_setup() < 0) - goto finish; + if (geteuid() == 0) + if (mount_setup() < 0) + goto finish; /* Reset all signal handlers. */ assert_se(reset_all_signal_handlers() == 0);