X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprocess.c;h=6491bfc28d0e7bbd4e9d379f961fedf589d06374;hp=2135036f29ff1ad2977d58af8dcef622bc6ba7b8;hb=408ca91766088b6c2d38e198b0692bf394b41248;hpb=5d1145f2c4b3b8261ca0aa0e89a2daf321640f0b diff --git a/src/process.c b/src/process.c index 2135036f..6491bfc2 100644 --- a/src/process.c +++ b/src/process.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: process.c,v 1.1.2.2 2000/11/16 22:12:23 zarq Exp $ + $Id: process.c,v 1.1.2.5 2000/11/20 19:12:13 guus Exp $ */ #include "config.h" @@ -137,45 +137,11 @@ int detach(void) setup_signals(); - if(do_detach) - { - ppid = getpid(); - - if((pid = fork()) < 0) - { - perror("fork"); - return -1; - } - if(pid) /* parent process */ - { - signal(SIGTERM, parent_exit); - sleep(600); /* wait 10 minutes */ - exit(1); - } - } - if(write_pidfile()) return -1; if(do_detach) - { - if((fd = open("/dev/tty", O_RDWR)) >= 0) - { - if(ioctl(fd, TIOCNOTTY, NULL)) - { - perror("ioctl"); - return -1; - } - close(fd); - } - - if(setsid() < 0) - return -1; - - kill(ppid, SIGTERM); - } - - chdir("/"); /* avoid keeping a mointpoint busy */ + daemon(0, 0); openlog(identname, LOG_CONS | LOG_PID, LOG_DAEMON); @@ -399,7 +365,7 @@ sigint_handler(int a) RETSIGTYPE sigusr1_handler(int a) { - dump_conn_list(); + dump_connection_list(); } RETSIGTYPE