[reSIProcate] Correct way to shutdown dum

John Draper lists at webcrunchers.com
Sun Apr 9 12:48:46 CDT 2006


Matthias Moetje - TERASENS GmbH wrote:

>Hi,
>
>when I shutdown dum I would like to shutdown as gracefully
>as possible. Also I want to remove all registrations and
>have all active sessions closed. I am looking for the best
>method to acomplish that. In addition I don't have much
>time for it (max. 5s) because my application must be shut 
>down through a synchronous function (called from another
>application).
>The shutdown method of dum has a "giveUpSeconds" parameter
>but this paramter is just ignored/unused. So how should
>I shutdown everything?
>
>Currently I'm doing this:
>
>
>		if (mStackThread) 
>		{
>			mStackThread->shutdown();
>		}
>		if (mDumThread) 
>		{
>			mDumThread->shutdown();
>		}
>		if (mStackThread) 
>		{
>			mStackThread->join();
>			delete mStackThread;
>			mStackThread = NULL;
>		}
>		if (mDumThread) 
>		{
>			mDumThread->join();
>			delete mDumThread;
>			mDumThread = NULL;
>		}
>		if (mDum) 
>		{
>			delete mDum;
>			mDum = NULL;
>		}
>
>		if (mStack) 
>		{
>			delete mStack;
>			mStack = NULL;
>		}
>
>But obviously this doesn't wait until all sessions are
>ended or registrations have been removed..
>
Is there an accepted order for shutting down these "services"?
I know they have a "Shutdown handler",  but there are no examples
on how to use it....   Shouldn't that eventually be written into the
WIKI?

It was much much easier for me to deploy a "state" variable
to tell me what State the stack is in,  so I can deploy the proper
shutdown code.  Seems to work for me,  and I intend to do it this
way until an easier way is found.

John



More information about the resiprocate-devel mailing list