You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2015/02/10 10:44:35 UTC

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

     [ https://issues.apache.org/jira/browse/QPID-4906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey resolved QPID-4906.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 0.31

The deadlock issue should be fixed by QPID-6374

> 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
>             Fix For: 0.31
>
>         Attachments: QPID-4906.patch
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)

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