diff options
author | trasz <trasz@FreeBSD.org> | 2014-02-11 10:59:57 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2014-02-11 10:59:57 +0000 |
commit | b84432b20cfa69f9c2d4d1bbe92ddf04e101e92d (patch) | |
tree | 961999e2f526de1e06ecce0ee1880b49e0040824 /usr.sbin | |
parent | e4b6e911a2dcde72418067d8c09105f8f8d1382f (diff) | |
download | FreeBSD-src-b84432b20cfa69f9c2d4d1bbe92ddf04e101e92d.zip FreeBSD-src-b84432b20cfa69f9c2d4d1bbe92ddf04e101e92d.tar.gz |
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
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ctld/ctld.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index 265af50..8ef979b 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) { |