[reSIProcate] DUM Dialog.cxx Erro Code

maodonghu hhmmdd at tom.com
Tue Feb 6 03:17:52 CST 2007


Hi, fancy_xiao

 I think It will throw exception if delete same pointer twice.



> Hello:
>
>Dialog::~Dialog()
>{
>   DebugLog ( <<"Dialog::~Dialog() ");
>
>   mDestroying = true;
>
>   while (!mClientSubscriptions.empty())
>   {
>      delete *mClientSubscriptions.begin();
>   }
>   while (!mServerSubscriptions.empty())
>   {
>      delete *mServerSubscriptions.begin();
>   }
>
>   delete mInviteSession;
>   mDialogSet.mDialogs.erase(this->getId());
>   delete mAppDialog;
>   if(!mReUseDialogSet)
>   {
>      mDialogSet.possiblyDie();
>   }      
>}
>
>in this function;
>
>   while (!mClientSubscriptions.empty())
>   {
>      delete *mClientSubscriptions.begin();
>   }
>   while (!mServerSubscriptions.empty())
>   {
>      delete *mServerSubscriptions.begin();
>   }
>
>must change to :
>   while (!mClientSubscriptions.empty())
>   {
>      delete *mClientSubscriptions.begin();
>	  mClientSubscriptions.pop_front();
>   }
>   while (!mServerSubscriptions.empty())
>   {
>      delete *mServerSubscriptions.begin();
>      mServerSubscriptions.pop_front();
>   }
>
>otherwise it should be a dead loop!
> 				
>--------------
>fancy_xiao
>2007-02-06
>
>_______________________________________________
>resiprocate-devel mailing list
>resiprocate-devel at list.resiprocate.org
>https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>


				 
        maodonghu
        hhmmdd at tom.com
          2007-02-06





More information about the resiprocate-devel mailing list