Le Sat, 16 Jan 2010 04:36:31 +0100,
Emmanuel Lecharny <[email protected]> a écrit :

> Hi guys,
> 
> just to keep you informed about what has been found during my 
> investigation on this issue.
> 
> The JIRA is talking about a regression from M6 to RC1, but in fact M6 
> code has been fixed and theses fixes impact the way the dispose()
> method behaves when it's called inside a Listener : we now have a
> hang instead of a quick exit due to a deadlock detection.
> 
> Of course, we can add some deadlock detection in the dispose()
> method, and the hang will disapear, but it's just a bad workaround.
> 
> I would like to raise a question here :
>   when closing a session, which is associated with a listener, should
> we allow the dispose() method to be called in the listener ?
> 
> If so, we have to find a way to get the dispose() being run in a 
> separated thread than the IoProcessor, otherwise it will wait forever.
> 
> Otherwise, should we simply throw an exception, telling the user that 
> it's a nonsense to call dispose in a listener ? The rational would be 
> that if you dispose() in a session close listener, then *all* the
> other sessions will also be closed at the same time, something the
> user might not be aware of.
> 
> wdyt ?
> 

Well if it's convenient for the users, why not let call dispose in the
listeners and detect the deadlock as it was detected ?
Julien

-- 
Julien Vermillard

Archean Technologies
http://www.archean.fr

Attachment: signature.asc
Description: PGP signature

Reply via email to