diff options
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 4 | ||||
-rw-r--r-- | libbb/xvfork.c | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 9baa813a1..989e9b841 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c | |||
@@ -238,9 +238,7 @@ void FAST_FUNC forkexit_or_rexec(char **argv) | |||
238 | void FAST_FUNC forkexit_or_rexec(void) | 238 | void FAST_FUNC forkexit_or_rexec(void) |
239 | { | 239 | { |
240 | pid_t pid; | 240 | pid_t pid; |
241 | pid = fork(); | 241 | pid = xfork(); |
242 | if (pid < 0) /* wtf? */ | ||
243 | bb_perror_msg_and_die("fork"); | ||
244 | if (pid) /* parent */ | 242 | if (pid) /* parent */ |
245 | exit(EXIT_SUCCESS); | 243 | exit(EXIT_SUCCESS); |
246 | /* child */ | 244 | /* child */ |
diff --git a/libbb/xvfork.c b/libbb/xvfork.c index a74b49f48..3fbd0c1ed 100644 --- a/libbb/xvfork.c +++ b/libbb/xvfork.c | |||
@@ -16,3 +16,13 @@ pid_t FAST_FUNC xvfork(void) | |||
16 | bb_perror_msg_and_die("vfork"); | 16 | bb_perror_msg_and_die("vfork"); |
17 | return pid; | 17 | return pid; |
18 | } | 18 | } |
19 | |||
20 | #if BB_MMU | ||
21 | pid_t FAST_FUNC xfork(void) | ||
22 | { | ||
23 | pid_t pid = fork(); | ||
24 | if (pid < 0) | ||
25 | bb_perror_msg_and_die("vfork" + 1); | ||
26 | return pid; | ||
27 | } | ||
28 | #endif | ||