" with daemon mode).\n");
}
+ if (daemonize){
+ if (daemon(0, 0) < 0) {
+ ulogd_log(ULOGD_FATAL, "can't daemonize: %s (%d)",
+ errno, strerror(errno));
+ warn_and_exit(daemonize);
+ }
+ }
+
+ if (ulogd_pidfile) {
+ if (write_pidfile(daemonize) < 0)
+ warn_and_exit(0);
+ }
+
if (config_register_file(ulogd_configfile)) {
ulogd_log(ULOGD_FATAL, "error registering configfile \"%s\"\n",
ulogd_configfile);
}
}
-
- if (daemonize){
- if (fork()) {
- exit(0);
- }
- if (logfile != stdout)
- fclose(stdout);
- fclose(stderr);
- fclose(stdin);
- setsid();
- }
-
- if (ulogd_pidfile) {
- if (write_pidfile(daemonize) < 0)
- warn_and_exit(0);
- }
-
signal(SIGTERM, &sigterm_handler);
signal(SIGINT, &sigterm_handler);
signal(SIGHUP, &signal_handler);