Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1243

Calling proton::container::stop() from within event handler causes infinite recursion

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-0.13.0
    • proton-0.14.0
    • cpp-binding, proton-c
    • None

    Description

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

      ...
      // XXX: should consider removing this from stop to avoid reentrance
      pn_reactor_process(reactor);
      ...
      

      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!

      Attachments

        Activity

          People

            astitcher Andrew Stitcher
            astitcher Andrew Stitcher
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: