WIFEXITED() cygwin regression
authorReini Urban <rurban@x-ray.at>
Tue, 4 Aug 2009 11:12:24 +0000 (13:12 +0200)
committerDavid Mitchell <davem@iabyn.com>
Tue, 4 Aug 2009 15:48:30 +0000 (16:48 +0100)
t/run/exit.t:58:    eval { POSIX::WIFEXITED() };
fails on the new cygwin-1.7 with
     5 [main] perl 3500 fork: child -1 - died waiting for longjmp
before initialization, retry 0, exit code 0xC0000005, errno 11
...
until I kill perl, because you must use an argument for WIFEXITED.
It didn't fail before, so I assume it's a cygwin regression, but it
must be fixed in the perl testsuite,
since an empty argument cries for trouble.
Use 0 or 1 as argument, ${^CHILD_ERROR_NATIVE} preferred.

(cherry picked from commit d781deb6546425b0eb8ff14422b0c2fb4352a053)

t/run/exit.t

index 986afea..b58dd45 100644 (file)
@@ -57,7 +57,7 @@ is( ${^CHILD_ERROR_NATIVE}, $native_success,  'Normal exit ${^CHILD_ERROR_NATIVE
 if (!$vms_exit_mode) {
   my $posix_ok = eval { require POSIX; };
   my $wait_macros_ok = defined &POSIX::WIFEXITED;
-  eval { POSIX::WIFEXITED() };
+  eval { POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}) };
   $wait_macros_ok = 0 if $@;
   $exit = run('exit 42');
   is( $exit >> 8, 42,             'Non-zero exit' );