Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.busybox.net/busybox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-06-13 17:25:13 +0300
committerDenys Vlasenko <vda.linux@googlemail.com>2023-06-13 17:25:13 +0300
commit373f64eef3cc121d7531522ef654feb0a8068d5a (patch)
tree92ac829cd828020a3e9dcabbb0b64862cf532bb9 /sysklogd
parent02378ce20c6d2df062357b6d60fc440609d203be (diff)
syslogd: daemonize _after_ init (so that init errors are visible, if they occur)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'sysklogd')
-rw-r--r--sysklogd/syslogd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 20034e969..7711e467b 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -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;
}