Race condition in SocketAcceptorDelegate.unbind
-----------------------------------------------

         Key: DIRMINA-202
         URL: http://issues.apache.org/jira/browse/DIRMINA-202
     Project: Directory MINA
        Type: Bug

    Versions: 1.0    
    Reporter: John K Peterson


On my system (Linux 2.4.22/JamVM 1.4.2/Classpath 0.90), ApacheDS gets stuck in 
SocketAcceptorDelegate.unbind.

SocketAcceptorDelegate.unbind does the following:

1) creates a cancellation request
2) starts up a worker thread
3) puts the cancellation request on the cancelQueue
4) wakes up the worker thread's selector
5) waits for the cancellation request to be done

The problem is that 4) assumes that 2) has gotten the worker thread to point 
where it has called selector.select().   However, there's no guarantee that the 
worker thread has gotten that far, in which case the wakeup occurs before the 
select and then the select hangs.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to