[uClibc]Re: BusyBox `msh' doesn't work correctly with vfork / uClibc

Miles Bader miles at lsi.nec.co.jp
Fri Mar 1 07:48:05 UTC 2002


The following patch to msh.c (made with very little understanding of the
source, though...) seems to fix the immediate problem:

diff -up user/busybox/msh.c.\~1\~ user/busybox/msh.c
--- user/busybox/msh.c.~1~	Thu Feb 14 11:42:15 2002
+++ user/busybox/msh.c	Fri Mar  1 16:42:16 2002
@@ -2604,17 +2604,15 @@ forkexec( register struct op *t, int *pi
 		signal(SIGQUIT, SIG_DFL);
 	}
 	if (t->type == TPAREN)
-		exit(execute(t->left, NOPIPE, NOPIPE, FEXEC));
+		_exit(execute(t->left, NOPIPE, NOPIPE, FEXEC));
 	if (wp[0] == NULL)
-		exit(0);
+		_exit(0);
 
 	cp = rexecve(wp[0], wp, makenv());
 	prs(wp[0]); prs(": "); warn(cp);
 	if (!execflg)
 		trap[0] = NULL;
-	leave();
-	/* NOTREACHED */
-	exit(1);
+	_exit (1);
 }
 
 /*

-Miles
-- 
Run away!  Run away!



More information about the uClibc mailing list