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

Andrew Stitcher reassigned QPID-5586:
-------------------------------------

    Assignee: Andrew Stitcher

> qpid::messaging::Session::nextReceiver can throw exception not descended from 
> qpid::types::Exception
> ----------------------------------------------------------------------------------------------------
>
>                 Key: QPID-5586
>                 URL: https://issues.apache.org/jira/browse/QPID-5586
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.26, 0.27
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>             Fix For: 0.27
>
>
> If a qpid messaging connection or (I think) a session is closed in one thread 
> whilst another thread is in Session::nextReceiver(...) then 
> qpid::ClosedException will be thrown.
> This is definitely wrong! (There is no way to catch this exception using only 
> the messaging library).
> It seems that there needs to be a new qpid::messaging exception to cover the 
> case that you were waiting for a receiver and the whole session has gone 
> away. Certainly you need to know that you can't refer to the session any more.
> It cannot be sufficient to assert that you must keep sessions around until 
> all the nextReceiver() calls using them are finished with the current API as 
> there is no way to preempt those calls externally. So a service loop waiting 
> to for a receiver to process will be stuck waiting until the session closes. 
> Even if you poll by using timeouts there is no way on return to tell that the 
> session you were just listening on is dead.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to