Timeout::timeout makes IO#close block if there's a #read present
----------------------------------------------------------------
Key: JRUBY-5503
URL: http://jira.codehaus.org/browse/JRUBY-5503
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.6RC2, JRuby 1.5.6, JRuby 1.5.1
Environment: Linux desk4 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10
23:42:43 UTC 2011 x86_64 GNU/Linux
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)
Reporter: Alex Young
Assignee: Thomas E Enebo
Attachments: test_pipe.rb
If one thread is blocked reading from one end of an IO.pipe, closing that same
end from another thread causes the closing thread to block in the IO#close
call, *if* the close happens inside a Timeout::timeout block. The attached test
case shows the effect: in 1.8.7 and 1.9.2(-p136 and -p174), all three tests
pass. On jruby-1.5.1, 1.5.6 and 1.6.0-RC2, #test_close_timeout_read (and only
that test) blocks.
--
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