svn commit: trunk/busybox/libbb

landley at busybox.net landley at busybox.net
Fri Jun 16 16:35:54 UTC 2006


Author: landley
Date: 2006-06-16 09:35:53 -0700 (Fri, 16 Jun 2006)
New Revision: 15408

Log:
Revert svn 15333.  If you vfork, you must either exec or exit.  (The parent is
blocked until you do so.)


Modified:
   trunk/busybox/libbb/vfork_daemon_rexec.c


Changeset:
Modified: trunk/busybox/libbb/vfork_daemon_rexec.c
===================================================================
--- trunk/busybox/libbb/vfork_daemon_rexec.c	2006-06-16 15:08:59 UTC (rev 15407)
+++ trunk/busybox/libbb/vfork_daemon_rexec.c	2006-06-16 16:35:53 UTC (rev 15408)
@@ -23,9 +23,12 @@
 
 
 #ifdef BB_NOMMU
-static void vfork_daemon_common(int nochdir, int noclose)
+void vfork_daemon_rexec(int nochdir, int noclose,
+		int argc, char **argv, char *foreground_opt)
 {
 	int fd;
+	char **vfork_args;
+	int a = 0;
 
 	setsid();
 
@@ -38,25 +41,8 @@
 		dup2(fd, STDERR_FILENO);
 		if (fd > 2)
 			close(fd);
-	}	
-}
+	}
 
-void vfork_daemon(int nochdir, int noclose)
-{
-	vfork_daemon_common(nochdir, noclose);
-
-	if (vfork())
-		exit(0);
-}
-
-void vfork_daemon_rexec(int nochdir, int noclose,
-		int argc, char **argv, char *foreground_opt)
-{
-	char **vfork_args;
-	int a = 0;
-
-	vfork_daemon_common(nochdir, noclose);
-
 	vfork_args = xcalloc(sizeof(char *), argc + 3);
 	vfork_args[a++] = "/bin/busybox";
 	while(*argv) {




More information about the busybox-cvs mailing list