syslogd: daemonize _after_ init (so that init errors are visible, if they occur)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
master
Denys Vlasenko 2023-06-13 16:25:13 +02:00
parent 02378ce20c
commit 373f64eef3
1 changed files with 8 additions and 8 deletions

View File

@ -1055,6 +1055,14 @@ static int NOINLINE syslogd_init(char **argv)
G.hostname = safe_gethostname();
*strchrnul(G.hostname, '.') = '\0';
xmove_fd(create_socket(), STDIN_FILENO);
if (opts & OPT_circularlog)
ipcsyslog_init();
if (opts & OPT_kmsg)
kmsg_init();
if (!(opts & OPT_nofork)) {
bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
}
@ -1068,14 +1076,6 @@ static int NOINLINE syslogd_init(char **argv)
signal(SIGALRM, do_mark);
alarm(G.markInterval);
#endif
xmove_fd(create_socket(), STDIN_FILENO);
if (opts & OPT_circularlog)
ipcsyslog_init();
if (opts & OPT_kmsg)
kmsg_init();
return opts;
}