version 1.107, 2003/04/24 23:03:20
|
version 1.108, 2003/05/30 17:58:20
|
|
|
return mpf->handleRequestMessage(message); | return mpf->handleRequestMessage(message); |
} | } |
| |
Boolean handleSigHup = false; |
Boolean handleShutdownSignal = false; |
void sigHupHandler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig) |
void shutdownSignalHandler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig) |
{ | { |
PEG_METHOD_ENTER(TRC_SERVER, "sigHupHandler"); |
PEG_METHOD_ENTER(TRC_SERVER, "shutdownSignalHandler"); |
|
Tracer::trace(TRC_SERVER, Tracer::LEVEL2, "Signal %d received.", s_n); |
| |
handleSigHup = true; |
handleShutdownSignal = true; |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
|
|
(_repository, _providerRegistrationManager); | (_repository, _providerRegistrationManager); |
} | } |
| |
// Enable the signal handler to shutdown gracefully on SIGHUP |
// Enable the signal handler to shutdown gracefully on SIGHUP and SIGTERM |
getSigHandle()->registerHandler(PEGASUS_SIGHUP, sigHupHandler); |
getSigHandle()->registerHandler(PEGASUS_SIGHUP, shutdownSignalHandler); |
getSigHandle()->activate(PEGASUS_SIGHUP); | getSigHandle()->activate(PEGASUS_SIGHUP); |
|
getSigHandle()->registerHandler(PEGASUS_SIGTERM, shutdownSignalHandler); |
|
getSigHandle()->activate(PEGASUS_SIGTERM); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
|
|
| |
} | } |
| |
if (handleSigHup) |
if (handleShutdownSignal) |
{ | { |
Tracer::trace(TRC_SERVER, Tracer::LEVEL3, | Tracer::trace(TRC_SERVER, Tracer::LEVEL3, |
"CIMServer::runForever - HUP signal received. Shutting down."); |
"CIMServer::runForever - signal received. Shutting down."); |
| |
ShutdownService::getInstance(this)->shutdown(true, 10, false); | ShutdownService::getInstance(this)->shutdown(true, 10, false); |
handleSigHup = false; |
handleShutdownSignal = false; |
} | } |
} | } |
| |