Race condition in Process#wait
------------------------------

                 Key: JRUBY-3780
                 URL: http://jira.codehaus.org/browse/JRUBY-3780
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.3.1
         Environment: jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 
9419) [i386-java]
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.5) (fedora-18.b16.fc10-i386)
OpenJDK Client VM (build 14.0-b15, mixed mode)
            Reporter: TwP
            Priority: Critical


{code:title=racer.rb}

io = IO.popen 'sleep 5'

puts Time.now
Process.wait io.pid
puts Time.now
{code}

The expected output is two timestamps with five seconds difference between 
them. Works as expected with MRI 1.8.6 and 1.9.1  JRuby, however, produces 
spurious results with one of the three outcomes:

1) works just like MRI
2) two timestamps are printed - one immediately after the other (no time 
difference)
3) No child processes - No child processes (Errno::ECHILD)

Running the script repeatedly will produce all of the results listed above. 
This behavior is observed with JRuby 1.2.0 on Fedora 10 and with JRuby 1.3.1 on 
Mac OS X.

Blessings,
TwP

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to