in reply to Re^2: wait is broken on win32?
in thread wait is broken on win32?

Come on! Run your program before posting it. It's still broken.

When I add the missing parens, it prints 1 to 100 (in order) on both Windows and Linux. No crashes. I tried many versions all the way back to 5.6.0 on Windows.

Note that it's possible that the numbers get printed out of order if one child executes faster than another. This can happen regardless of the OS. You can see it happen using the following code:

use strict; use warnings; my $max_process = 10; my $processes = 0; for my $count (1..100){ wait if $processes >= $max_process; sleep(rand(3)),print($count."\n"),exit unless my $pid = fork; $processes ++; }

Replies are listed 'Best First'.
Re^4: wait is broken on win32?
by xiaoyafeng (Deacon) on Apr 26, 2009 at 05:49 UTC

    I apologize for my fault! I changed the contents of the script but forgot to save! I'm really ashamed of myself for wasting monks' time. Now I modify the snippet and it works well.

    Many thanks, ikegami!!


    I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction