[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

win32::process and nested fork()s

Martin Carpenter

3/10/2007 10:35:00 AM


I can't seem to make nested fork()s (granchildren processes) work with the
win32::process module. Here's my simple test script:

1 require "win32/process"
2
3 Process.fork do
4 $stdout."child #{Process.pid}" ; $stdout.flush
5 2.times{
6 Process.fork do
7 $stdout.puts "sub-child #{Process.pid}" ; $stdout.flush
8 end
9 }
10 end

Output from my test script below gives:

Windows:
child 4384

Linux (using the "native" Process.fork, ie. skipping the require on line 1):
child 5126
sub-child 5127
sub-child 5128

If I comment out lines 6 and 8, I get an appropriate amount of output from
windows (although, of course, always with the same PID). I'm not sure if
this is a problem with win32::process, with the IO stream... or with
something else entirely?

On Windows, I'm running:
* WinXP SP2
* ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]
* win32-process (0.5.2, 0.5.1)


Thanks for any help!

Martin.