*: introduce and use xfork()
function old new delta xfork - 20 +20 msh_main 1377 1380 +3 mod_process 455 446 -9 forkexit_or_rexec 30 17 -13 expand_variables 1434 1421 -13 open_transformer 91 76 -15 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/4 up/down: 23/-50) Total: -27 bytes
This commit is contained in:
@@ -238,9 +238,7 @@ void FAST_FUNC forkexit_or_rexec(char **argv)
|
||||
void FAST_FUNC forkexit_or_rexec(void)
|
||||
{
|
||||
pid_t pid;
|
||||
pid = fork();
|
||||
if (pid < 0) /* wtf? */
|
||||
bb_perror_msg_and_die("fork");
|
||||
pid = xfork();
|
||||
if (pid) /* parent */
|
||||
exit(EXIT_SUCCESS);
|
||||
/* child */
|
||||
|
@@ -16,3 +16,13 @@ pid_t FAST_FUNC xvfork(void)
|
||||
bb_perror_msg_and_die("vfork");
|
||||
return pid;
|
||||
}
|
||||
|
||||
#if BB_MMU
|
||||
pid_t FAST_FUNC xfork(void)
|
||||
{
|
||||
pid_t pid = fork();
|
||||
if (pid < 0)
|
||||
bb_perror_msg_and_die("vfork" + 1);
|
||||
return pid;
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user