[ 
https://issues.apache.org/jira/browse/PROTON-1243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15342319#comment-15342319
 ] 

Andrew Stitcher commented on PROTON-1243:
-----------------------------------------

Note that this is an issue for the simplest possible example uses as you might 
want to only introduce the concepts of container, sender, message & tracker; or 
container, receiver, message and delivery.

To workaround this bug you have to introduce the accidental concept of 
connection purely to call close to shutdown the event loop.

> Calling proton::container::stop() from within event handler causes infinite 
> recursion
> -------------------------------------------------------------------------------------
>
>                 Key: PROTON-1243
>                 URL: https://issues.apache.org/jira/browse/PROTON-1243
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding, proton-c
>    Affects Versions: 0.13.0
>            Reporter: Andrew Stitcher
>            Assignee: Cliff Jansen
>
> There is current way to use proton::container::stop() or pn_reactor_stop() 
> from within an event handler without causing infinite recursion.
> Indeed there is even a note inside pn_reactor_stop():
> {noformat}
> ...
> // XXX: should consider removing this from stop to avoid reentrance
> pn_reactor_process(reactor);
> ...
> {noformat}
> So I think there is no way to fix the issue in the current C++ implementation 
> without removing the recursion somehow from the C code. However I don't know 
> if doing this will cause a bug in some other circumstances!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to