A thought just struck me, that most people on the mailing list and forum 
seem to be using ruby on some kind of Unix variant (Linux, Solaris, OSX 
..), which got me thinking that perhaps it's the Windows implementation 
that's buggy.

Below are my test results from cygwin on win32 and it actually behaves 
correctly!

#===============================================================================
# Using ruby 1.8.4 (2005-12-24) [i386-cygwin]
#===============================================================================

1. Starting external process at: 0.000000s
2. External process (PID:2624) started at: 0.031000s
3. Begun doing something else while proc works at: 0.031000s
4. Done! from process(2624)
5. External proc done at: 5.156000s

#===============================================================================

And for completeness sake, a test on a some what more complete unix-like 
system

#===============================================================================
# ruby 1.8.3 (2005-09-21) [i686-linux]
#===============================================================================

1. Starting external process at: 0.000006s
2. External process (PID:30737) started at: 0.001106s
3. Begun doing something else while proc works at: 0.001216s
4. Done! from process(30737)
5. External proc done at: 5.001349s

#===============================================================================

Now, it's all good and dandy that the unix-like environments behave 
properly, but I really need have this functioning on win32 as well. So 
if anyone knows how to get the example working properly on windows I'd 
be extremely grateful.

-- 
Posted via http://www.ruby-forum.com/.