[SR-Users] problem unreferencing dialog in dialog module

Timo Reimann timo.reimann at 1und1.de
Thu Mar 3 11:34:55 CET 2011


Argh:


On 03.03.2011 11:11, Timo Reimann wrote:
> What I can tell though is that the crash happens because too much dialog
> reference counter decrementing takes place. Although I have no clue why,
                                                       ^^^^^^^^^^^^^^^^^

...the crash happens,

> I believe the implementation of unref_dlg_unsafe() (a macro) could be
> somewhat more robust by not unlinking and destroying a dialog when the
> counter drops below zero. That is, instead of running the following block
> 
> if ((_dlg)->ref<=0) { \
>         unlink_unsafe_dlg( _d_entry, _dlg);\
>         LM_DBG("ref <=0 for dialog %p\n",_dlg);\
>         destroy_dlg(_dlg);\
> }\


> for _dlg->ref <= 0, I see no reason to change the compare operator to ==.

I see no reason *not* to change compare operator to ==. That is, I want
the block to execute iff the reference counter is found to be zero.


--Timo



More information about the sr-users mailing list