X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fmain.c;h=20aee80ff253fb02007a7631b07bf4e3936b6926;hb=ef6a218200864a61696467517a79d47594c623b4;hp=2a6ec6a1d8eb1bb59ac5af76329c7ea290c538f5;hpb=f1c63392aa18ec760ead4a4d5b3e3964a17b6c8c;p=doldaconnect.git diff --git a/daemon/main.c b/daemon/main.c index 2a6ec6a..20aee80 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -371,13 +371,13 @@ int main(int argc, char **argv) char *configfile; char *pidfile; FILE *pfstream, *confstream; - int delay; + int delay, immsyslog; struct module *mod; struct timer *timer, *ntimer; struct child *child; double now; - nofork = 0; + immsyslog = nofork = 0; syslogfac = LOG_DAEMON; configfile = NULL; pidfile = NULL; @@ -425,8 +425,8 @@ int main(int argc, char **argv) nofork = 1; break; case 's': - logtosyslog = 1; - logtostderr = 0; + immsyslog = 1; + break; case 'h': case ':': case '?': @@ -437,6 +437,11 @@ int main(int argc, char **argv) } setlocale(LC_ALL, ""); initlog(); + if(immsyslog) + { + logtosyslog = 1; + logtostderr = 0; + } signal(SIGPIPE, SIG_IGN); signal(SIGHUP, handler); signal(SIGINT, handler); @@ -557,5 +562,7 @@ int main(int argc, char **argv) } flog(LOG_INFO, "terminating..."); terminate(); + if(pidfile != NULL) + unlink(pidfile); return(0); }