< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

RE: [reSIProcate] ClientPagerMessage::end()


Hello Scott,

Your fix works great. Many thanks!


On Tue, 9 Aug 2005, Scott Godin wrote:

> 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.