http://www.perlmonks.org?node_id=762762

syphilis has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
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 warnings; use strict; use Symbol qw(gensym); use IPC::Open3; 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.

Cheers,
Rob