Open bulk88 opened 10 years ago
I don't have access to a Windows system that I can build custom perls on. Can you come up with a patch?
What is t/global_destruction_forked.t supposed to be doing? Write a skip_all for no-fork perl?
no-fork Win32 perl
C:\sources\Try-Tiny-0.22>perl -E" say fork"
The fork function is unimplemented at -e line 1.
C:\sources\Try-Tiny-0.22>
C:\sources\Try-Tiny-0.22>perl -Iblib/lib t/global_destruction_forked.t
1..3
ok 1 - Didn't just exit
# Looks like you planned 3 tests but ran 1.
C:\sources\Try-Tiny-0.22>
with fork Win32 perl
C:\sources\Try-Tiny-0.22>perl -E" say fork"
-15424
0
C:\sources\Try-Tiny-0.22>
C:\sources\Try-Tiny-0.22>perl -Iblib/lib t/global_destruction_forked.t
1..3
ok 1 - nested try in cleanup after fork does not maintain outer catch block
ok 2 - nested try in cleanup after fork does not maintain outer finally block
ok 3 - Didn't just exit
C:\sources\Try-Tiny-0.22>
Looks like it's related to perlbug #119311 (see commit 130617d). If that bug isn't relevant on no-fork perls, I'm fine to just skip.
I dont have enough time to immediately figure out what was happening in #119311 and if that bug applies to no-fork perls, since I can't automatically say its fork-only, since it has something to do with exception unwinding/call stack unwinding, which is not fork-exclusive.
I am using a non-default Win32 Perl build that was built without psuedo-fork but with ithreads. A test fails on this build. Also unthreaded Win32 Perl shows the same exact failure t/global_destruction_forked.t .