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