Affects Version/s: JRuby 1.7.0.pre1
Fix Version/s: JRuby 1.6.7
Component/s: Core Classes/Modules
Environment:jruby 1.7.0.dev (ruby-1.9.3-p139) (2012-03-31 3ed20a7) (OpenJDK 64-Bit Server VM 1.7.0-u4-b13) [darwin-amd64-java]
Number of attachments :
JRuby 1.7-only bug. It's actually fine on 1.6.7.
Clone celluloid-io: https://github.com/celluloid/celluloid-io
The tests hang around here:
It's hanging on a follow-up call to Socket.connect_nonblock. By "follow up", I mean that it's called Socket.connect_nonblock once, gotten Errno::EINPROGRESS, has waited for the given socket to become writable (via nio4r), and is now calling Socket.connect_nonblock again to ensure that the socket is now connected. The code in question looks like this:
Okay, that comment is a bit of a lie, here's the actual example given by the stdlib documentation:
My version works fine on both Ruby 1.9.3 and JRuby 1.6.7. However, on JRuby 1.7, connect_nonblock seems to block.