From: Ivo Timmermans Date: Tue, 28 Mar 2000 19:09:52 +0000 (+0000) Subject: Kill the parent after any error conditions in detach(). X-Git-Tag: release-1.0pre1~99 X-Git-Url: https://git.tinc-vpn.org/git/browse?a=commitdiff_plain;h=f2076e3e7031ac8ad87eb6aab0cea40f379dd0c6;p=tinc Kill the parent after any error conditions in detach(). --- diff --git a/src/tincd.c b/src/tincd.c index 124276f1..0da27a38 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -181,10 +181,11 @@ int detach(void) close(fd); } - kill(ppid, SIGTERM); - if(setsid() < 0) return -1; + + kill(ppid, SIGTERM); + chdir("/"); /* avoid keeping a mointpoint busy */ openlog(identname, LOG_CONS | LOG_PID, LOG_DAEMON); @@ -343,7 +344,10 @@ main(int argc, char **argv, char **envp) setup_signals(); if(detach()) - cleanup_and_exit(1); + { + kill(ppid, SIGTERM); + exit(0); + } if(security_init()) return 1; @@ -432,10 +436,10 @@ RETSIGTYPE sighuh(int a) { if(cp_file) - syslog(LOG_NOTICE, "Got unexpected signal after %s line %d.", - cp_file, cp_line); + syslog(LOG_NOTICE, "Got unexpected signal (%d) after %s line %d.", + a, cp_file, cp_line); else - syslog(LOG_NOTICE, "Got unexpected signal."); + syslog(LOG_NOTICE, "Got unexpected signal (%d).", a); } void