X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmain.c;h=95d2115230308ff8437149ec3075d9dbd13bf345;hb=11c3a4eeb7e65eccd6fc0870bb1cda315fa33ba5;hp=e2d2ab5e647ad83bf8cf2442f4982cd6a1eff5bd;hpb=5b2a09037232980ad42ba3611cf194078ae5e546;p=elogind.git diff --git a/src/main.c b/src/main.c index e2d2ab5e6..95d211523 100644 --- a/src/main.c +++ b/src/main.c @@ -37,6 +37,7 @@ #include "mount-setup.h" #include "hostname-setup.h" #include "loopback-setup.h" +#include "kmod-setup.h" #include "load-fragment.h" #include "fdset.h" @@ -138,7 +139,7 @@ _noreturn static void crash(int sig) { else if (pid == 0) { int fd, r; - if ((fd = acquire_terminal("/dev/console", false, true)) < 0) + if ((fd = acquire_terminal("/dev/console", false, true, true)) < 0) log_error("Failed to acquire terminal: %s", strerror(-fd)); else if ((r = make_stdio(fd)) < 0) log_error("Failed to duplicate terminal fd: %s", strerror(-r)); @@ -175,7 +176,7 @@ static void install_crash_handler(void) { static int make_null_stdio(void) { int null_fd, r; - if ((null_fd = open("/dev/null", O_RDWR)) < 0) { + if ((null_fd = open("/dev/null", O_RDWR|O_NOCTTY)) < 0) { log_error("Failed to open /dev/null: %m"); return -errno; } @@ -639,6 +640,7 @@ int main(int argc, char *argv[]) { log_debug("systemd running in %s mode.", manager_running_as_to_string(running_as)); if (running_as == MANAGER_INIT) { + kmod_setup(); hostname_setup(); loopback_setup(); }