[
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]