[ 
http://issues.apache.org/jira/browse/DIRMINA-202?page=comments#action_12373448 
] 

John K Peterson commented on DIRMINA-202:
-----------------------------------------

Turns out the version I'm working with is 0.9.2.  Sorry for the confusion.

I've tried to strip down the class to remove all the MINA-specific stuff, 
however, when I do that it doesn't hang.  So, the basic wakeup before select is 
not the problem. I'm wondering if maybe it somehow gets back around to 'select' 
a second time.  Now I've got the right source and can throw in some print 
statements in to find out the order and frequency of events...

> Race condition in SocketAcceptorDelegate.unbind
> -----------------------------------------------
>
>          Key: DIRMINA-202
>          URL: http://issues.apache.org/jira/browse/DIRMINA-202
>      Project: Directory MINA
>         Type: Bug

>     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