On 07/17/2015 08:15 PM, Rafael Schloming wrote:
On Fri, Jul 17, 2015 at 11:56 AM, Gordon Sim <g...@redhat.com> wrote:

On 07/17/2015 07:17 PM, Rafael Schloming wrote:

Given this I believe the incref/decref pair is indeed running into
problems
when being invoked from inside a finalizer. I'd be curious if an
alternative fix would work. I suspect you could replace the additional
conditions you added to the if predicate with this:

    pn_refcount(endpoint) > 0


If the refcount is *not* 0, what does the incref/decref sequence
accomplish?


I believe the answer to this is the same as the answer I just posted on the
other thread, i.e. the incref may trigger the incref hook (see
pn_xxx_incref in engine.c), and this in turn may update the endpoint state
and adjust the refcount accordingly. The decref may then end up finalizing
the object.

Right, understood now.

Unfortunately replacing the additional conditions with just that check on the refcount doesn't prevent the crash though.


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

Reply via email to