On Linux and Cygwin, the below demo runs to completion immediately - which is as I expect. But on Win32 (perl-5.10.0), it hangs forever at waitpid $pid, 0;
What's the way to have this working correctly on Win32 ? The waitpid documentation states that "waiting for a particular pid with FLAGS of 0 is implemented everywhere".
use Symbol qw(gensym);
my $out = gensym();
my $err = gensym();
my $cmd = 'cd';
my $pid = open3(undef, $out, $err, $cmd);
waitpid $pid, 0;
The Net::SSLeay test file t/local/00_ptr_cast.t contains code very much like that (except that $cmd contains something useful) - needless to say, Ctrl-C is the only way to terminate that test script on Win32.