You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rajith Attapattu (JIRA)" <ji...@apache.org> on 2013/06/03 23:14:24 UTC

[jira] [Created] (QPID-4906) If Session close() or closed() method is invoked while inside onMessage(), they should be excuted after onMessage() has completed.

Rajith Attapattu created QPID-4906:
--------------------------------------

             Summary: If Session close() or closed() method is invoked while inside onMessage(), they should be excuted after onMessage() has completed.
                 Key: QPID-4906
                 URL: https://issues.apache.org/jira/browse/QPID-4906
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu


If Session close() or [closed() via the IO thread when a protocol close() is received) is called while inside onMessage(), it deadlocks.

As per the JMS spec, the session cannot be closed() until onMessage() method returns.

Therefore the best solution is to mark that close() or closed() has been called and then execute those method once the thread returns from onMessage().

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org