On Dec 19, 2007 7:23 AM, A. Pagaltzis <[EMAIL PROTECTED]> wrote: > I wish someone would help me fix Proc::Fork on Windows. I got > two tickets about it and a bunch of Testers failures, but several > attempts to make it work have failed and my repeated pleas have > fallen on deaf ears. :-)
I poked around with it a bit. One think I noticed immediately is that you have "-T" switches in your shebang lines on the test files. As I've reported elsewhere, Perl on windows has what I call the "taint-fork bug" -- forking while under taint just segfaults. > perl -Te fork It still segfaulted on the 01-real.t test, but it does so after the fork when calling the anonymous subroutines instead of on the fork itself. With a little more poking around, the problem lies in your modification of @_ and use of goto &_do_fork. Changing the relevent lines to my @args = @{ $config}{ qw( parent child error retry ) }; undef $config; _do_fork(@args); passes all tests. You lose the nice callstack, but it doesn't segfault. I'm guessing that's really an issue with goto and pseudoforks or threads on Windows. (As an aside, I did try it with Sub::Uplevel and it ran the child branch bug segfaulted calling the parent branch -- not sure why.) Regards, David