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.

--Rafael

Reply via email to