diff options
-rw-r--r-- | pp_sys.c | 5 | ||||
-rw-r--r-- | t/lib/warnings/doio | 5 | ||||
-rw-r--r-- | win32/win32.c | 2 |
3 files changed, 6 insertions, 6 deletions
@@ -4121,11 +4121,6 @@ PP(pp_exec) #endif } -#if !defined(HAS_FORK) && defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS) - if (value >= 0) - my_exit(value); -#endif - SP = ORIGMARK; PUSHi(value); RETURN; diff --git a/t/lib/warnings/doio b/t/lib/warnings/doio index 2a357e2755..9ba4d31633 100644 --- a/t/lib/warnings/doio +++ b/t/lib/warnings/doio @@ -172,6 +172,11 @@ EXPECT OPTION regex Can't exec "lskdjfalksdjfdjfkls(:? abc)?": .+ ######## +# doio.c [win32_execvp] +use warnings 'exec' ; +exec $^X, "-e0" ; +EXPECT +######## # doio.c [Perl_nextargv] $^W = 0 ; my $filename = "./temp.dir" ; diff --git a/win32/win32.c b/win32/win32.c index 50cf1c4cb3..85068b8966 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -3363,7 +3363,7 @@ win32_execvp(const char *cmdname, const char *const *argv) /* if this is a pseudo-forked child, we just want to spawn * the new program, and return */ if (w32_pseudo_id) - return win32_spawnvp(P_WAIT, cmdname, (char *const *)argv); + return my_exit(win32_spawnvp(P_WAIT, cmdname, (char *const *)argv)); #endif return execvp(cmdname, (char *const *)argv); } |