From 5d5a95f138c6eed9939881c87dc7e19a7c2e7326 Mon Sep 17 00:00:00 2001 From: Edward Tomasz Napierala Date: Tue, 11 Feb 2014 10:59:57 +0000 Subject: [PATCH] Daemonize after applying configuration, not before, so that any problems - including "daemon already running" - are visible on the terminal and not just in logs. Sponsored by: The FreeBSD Foundation --- usr.sbin/ctld/ctld.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index 265af5086dba..8ef979b5c51b 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -1644,14 +1644,6 @@ main(int argc, char **argv) newconf->conf_debug = debug; } - if (dont_daemonize == false) { - if (daemon(0, 0) == -1) { - log_warn("cannot daemonize"); - pidfile_remove(newconf->conf_pidfh); - exit(1); - } - } - #ifdef ICL_KERNEL_PROXY log_debugx("enabling CTL iSCSI port"); error = kernel_port_on(); @@ -1674,6 +1666,15 @@ main(int argc, char **argv) log_errx(1, "failed to enable CTL iSCSI port, exiting"); #endif + if (dont_daemonize == false) { + log_debugx("daemonizing"); + if (daemon(0, 0) == -1) { + log_warn("cannot daemonize"); + pidfile_remove(newconf->conf_pidfh); + exit(1); + } + } + for (;;) { main_loop(newconf, dont_daemonize); if (sighup_received) {