Loading...
gen/FreeBSD/daemon.c Libc-498 Libc-320
--- Libc/Libc-498/gen/FreeBSD/daemon.c
+++ Libc/Libc-320/gen/FreeBSD/daemon.c
@@ -35,13 +35,11 @@
 static char sccsid[] = "@(#)daemon.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/daemon.c,v 1.6 2003/11/10 22:01:42 ghelmer Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/daemon.c,v 1.5 2002/02/01 00:57:29 obrien Exp $");
 
 #include "namespace.h"
-#include <errno.h>
 #include <fcntl.h>
 #include <paths.h>
-#include <signal.h>
 #include <unistd.h>
 #include "un-namespace.h"
 
@@ -49,17 +47,7 @@
 daemon(nochdir, noclose)
 	int nochdir, noclose;
 {
-	struct sigaction osa, sa;
 	int fd;
-	pid_t newgrp;
-	int oerrno;
-	int osa_ok;
-
-	/* A SIGHUP may be thrown when the parent exits below. */
-	sigemptyset(&sa.sa_mask);
-	sa.sa_handler = SIG_IGN;
-	sa.sa_flags = 0;
-	osa_ok = _sigaction(SIGHUP, &sa, &osa);
 
 	switch (fork()) {
 	case -1:
@@ -70,15 +58,8 @@
 		_exit(0);
 	}
 
-	newgrp = setsid();
-	oerrno = errno;
-	if (osa_ok != -1)
-		_sigaction(SIGHUP, &osa, NULL);
-
-	if (newgrp == -1) {
-		errno = oerrno;
+	if (setsid() == -1)
 		return (-1);
-	}
 
 	if (!nochdir)
 		(void)chdir("/");