RE: [reSIProcate] ClientPagerMessage::end()
Hi Dmitry,
I just commited a fix for this:
"changed end() so that it does a delayed delete of the usage - this
allow end() be called from the onFailure callback."
I haven't tested it out though - can you let me know if it works ok?
Thanks,
Scott
-----Original Message-----
From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx
[mailto:resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
Dmitry Semyonov
Sent: Friday, August 05, 2005 12:39 PM
To: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [reSIProcate] ClientPagerMessage::end()
On Thu, 4 Aug 2005, Dmitry Semyonov wrote:
> I've just found that it is necessary to call handle->end() inside
> onSuccess() and onFailure() handlers for pager messages in order to
> destroy corresponding DialogSet.
>
> Shouldn't the note about end() be added to PagerMessageHandler.hxx?
Hmm. It seems the above is not quite correct.
One must not call h->end() from onFailure() handler. Otherwise
reSIProcate will crash during deletion of contents auto_ptr which is
passed to onFailure().
But! The usage will not be destroyed if h->end() is not called,
although the opposite is stated in the comments. I think the following
patch should be applied to ClientPagerMessage.cxx:
Index: ClientPagerMessage.cxx
===================================================================
--- ClientPagerMessage.cxx (revision 5203)
+++ ClientPagerMessage.cxx (working copy)
@@ -163,6 +163,7 @@
}
mMsgQueue.clear();
+ delete this;
}
}
}
Otherwise reSIProcate hangs on shutdown due to hanging DialogSet.
Unfortunately I suspect this could interfere with the following
functionality: "Application could re-page the failed contents".
Please, comment on the above. TIA.
--
...Bye..Dmitry.
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxx
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel