mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trustin Lee (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DIRMINA-202) Race condition in SocketAcceptorDelegate.unbind
Date Thu, 06 Apr 2006 02:25:47 GMT
    [ http://issues.apache.org/jira/browse/DIRMINA-202?page=comments#action_12373453 ] 

Trustin Lee commented on DIRMINA-202:
-------------------------------------

You're right.  It is not select(1000) but just select().  Call me an idiot! :D

OK, I feel like I need to test this case.  Could you please attach a JUnit TestCase for this
issue?



> 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


Mime
View raw message