History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: JRUBY-1453
Type: Bug Bug
Status: Closed Closed
Resolution: Incomplete
Priority: Critical Critical
Assignee: Charles Oliver Nutter
Reporter: Charles Oliver Nutter
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
JRuby

All IO operations in JRuby need to mirror MRI's heavy use of select for all operations

Created: 19/Oct/07 03:23 AM   Updated: 23/Apr/08 10:03 AM
Component/s: None
Affects Version/s: None
Fix Version/s: JRuby 1.1RC1

Time Tracking:
Not Specified


 Description  « Hide
Because MRI is green threaded, almost all IO operations it performs are performed asynchronously using select. This allows it to schedule new green threads, and also allows threads to safely receive events without damaging their associated IO channels/streams/descriptors.

JRuby's IO operations must be globally examined and in most cases it's likely that instead of a blocking call we should be using a nonblocking call combined with a selector. See the fix for JRUBY-1452 for an example of such a change (though no guarantees on whether it's kosher NIO or not).



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Charles Oliver Nutter - 20/Dec/07 02:09 PM
I don't know why I file these gigantic open-ended bugs. Of course we could go looking for places to use async IO, but that wouldn't be very pragmatic, would it?