Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-4906

If Session close() or closed() method is invoked while inside onMessage(), they should be excuted after onMessage() has completed.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.31
    • Component/s: JMS AMQP 0-x
    • Labels:
      None

      Description

      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().

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              rajith Rajith Muditha Attapattu
              Reporter:
              rajith Rajith Muditha Attapattu

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment