revert last two commits. vfork cannot be used in subroutine,

it trashes stack on return
This commit is contained in:
Denis Vlasenko
2008-07-01 15:59:42 +00:00
parent b111917972
commit 82604e9730
15 changed files with 55 additions and 50 deletions

View File

@@ -226,7 +226,9 @@ void FAST_FUNC forkexit_or_rexec(char **argv)
if (re_execed)
return;
pid = xvfork();
pid = vfork();
if (pid < 0) /* wtf? */
bb_perror_msg_and_die("vfork");
if (pid) /* parent */
exit(EXIT_SUCCESS);
/* child - re-exec ourself */
@@ -238,7 +240,9 @@ void FAST_FUNC forkexit_or_rexec(char **argv)
void FAST_FUNC forkexit_or_rexec(void)
{
pid_t pid;
pid = xfork();
pid = fork();
if (pid < 0) /* wtf? */
bb_perror_msg_and_die("fork");
if (pid) /* parent */
exit(EXIT_SUCCESS);
/* child */