From: Martin Carpenter Date: 2007-03-10T19:40:14+09:00 Subject: win32::process and nested fork()s 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.