UNIXServer#accept can't be interrupted by kill/raise
----------------------------------------------------

                 Key: JRUBY-4291
                 URL: http://jira.codehaus.org/browse/JRUBY-4291
             Project: JRuby
          Issue Type: Bug
          Components: Extensions, HelpWanted
    Affects Versions: JRuby 1.4
            Reporter: Vladimir Sizikov


Basically, we call native accept() and that's non-interruptible. For other 
sockets, we use java-based infrastructure and do tricks with select there, but 
for Unix Socket, we go right to the native calls.

Looks like MRI (and Python for that matter) do clever tricks when they 
implement accept for sockets. They set the socket to O_NONBLOCK mode, and do 
select() until the socket is available, or something like that.

For Python, the code is: 
http://svn.python.org/projects/python/trunk/Modules/socketmodule.c 
(internal_select and friends).

-- 
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