diff options
Diffstat (limited to 'libbb/vfork_daemon_rexec.c')
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 65271e84f..26e1776a4 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c | |||
@@ -150,6 +150,7 @@ void FAST_FUNC run_noexec_applet_and_exit(int a, const char *name, char **argv) | |||
150 | * Higher-level code, hiding optional NOFORK/NOEXEC trickery. | 150 | * Higher-level code, hiding optional NOFORK/NOEXEC trickery. |
151 | */ | 151 | */ |
152 | 152 | ||
153 | #if !ENABLE_PLATFORM_MINGW32 | ||
153 | /* This does a fork/exec in one call, using vfork(). Returns PID of new child, | 154 | /* This does a fork/exec in one call, using vfork(). Returns PID of new child, |
154 | * -1 for failure. Runs argv[0], searching path if that has no / in it. */ | 155 | * -1 for failure. Runs argv[0], searching path if that has no / in it. */ |
155 | pid_t FAST_FUNC spawn(char **argv) | 156 | pid_t FAST_FUNC spawn(char **argv) |
@@ -191,6 +192,7 @@ pid_t FAST_FUNC spawn(char **argv) | |||
191 | } | 192 | } |
192 | return pid; | 193 | return pid; |
193 | } | 194 | } |
195 | #endif | ||
194 | 196 | ||
195 | /* Die with an error message if we can't spawn a child process. */ | 197 | /* Die with an error message if we can't spawn a child process. */ |
196 | pid_t FAST_FUNC xspawn(char **argv) | 198 | pid_t FAST_FUNC xspawn(char **argv) |
@@ -211,6 +213,7 @@ int FAST_FUNC spawn_and_wait(char **argv) | |||
211 | if (APPLET_IS_NOFORK(a)) | 213 | if (APPLET_IS_NOFORK(a)) |
212 | return run_nofork_applet(a, argv); | 214 | return run_nofork_applet(a, argv); |
213 | # if BB_MMU /* NOEXEC needs fork(), thus this is done only on MMU machines: */ | 215 | # if BB_MMU /* NOEXEC needs fork(), thus this is done only on MMU machines: */ |
216 | # if !ENABLE_PLATFORM_MINGW32 /* and then only if not on Microsoft Windows */ | ||
214 | if (APPLET_IS_NOEXEC(a)) { | 217 | if (APPLET_IS_NOEXEC(a)) { |
215 | fflush_all(); | 218 | fflush_all(); |
216 | rc = fork(); | 219 | rc = fork(); |
@@ -220,6 +223,7 @@ int FAST_FUNC spawn_and_wait(char **argv) | |||
220 | /* child */ | 223 | /* child */ |
221 | run_noexec_applet_and_exit(a, argv[0], argv); | 224 | run_noexec_applet_and_exit(a, argv[0], argv); |
222 | } | 225 | } |
226 | # endif | ||
223 | # endif | 227 | # endif |
224 | } | 228 | } |
225 | #endif | 229 | #endif |
@@ -227,6 +231,7 @@ int FAST_FUNC spawn_and_wait(char **argv) | |||
227 | return wait4pid(rc); | 231 | return wait4pid(rc); |
228 | } | 232 | } |
229 | 233 | ||
234 | #if !ENABLE_PLATFORM_MINGW32 | ||
230 | #if !BB_MMU | 235 | #if !BB_MMU |
231 | void FAST_FUNC re_exec(char **argv) | 236 | void FAST_FUNC re_exec(char **argv) |
232 | { | 237 | { |
@@ -314,3 +319,4 @@ void FAST_FUNC bb_sanitize_stdio(void) | |||
314 | { | 319 | { |
315 | bb_daemonize_or_rexec(DAEMON_ONLY_SANITIZE, NULL); | 320 | bb_daemonize_or_rexec(DAEMON_ONLY_SANITIZE, NULL); |
316 | } | 321 | } |
322 | #endif /* !MINGW32 */ | ||