version 1.16, 2007/06/13 21:26:00
|
version 1.17, 2007/06/19 17:58:04
|
|
|
// no-ops | // no-ops |
void ServerProcess::cimserver_set_process(void* p) {} | void ServerProcess::cimserver_set_process(void* p) {} |
void ServerProcess::cimserver_exitRC(int rc) {} | void ServerProcess::cimserver_exitRC(int rc) {} |
int ServerProcess::cimserver_initialize(void) { return 1; } |
int ServerProcess::cimserver_initialize() { return 1; } |
| |
// for all OSes supporting signals provide a cimserver_wait function | // for all OSes supporting signals provide a cimserver_wait function |
// that waits to be awakened by signal PEGASUS_SIGTERM or PEGASUS_SIGHUP | // that waits to be awakened by signal PEGASUS_SIGTERM or PEGASUS_SIGHUP |
#ifdef PEGASUS_HAS_SIGNALS | #ifdef PEGASUS_HAS_SIGNALS |
int ServerProcess::cimserver_wait(void) |
int ServerProcess::cimserver_wait() |
{ | { |
int sig = -1; | int sig = -1; |
sigset_t set; | sigset_t set; |
|
|
return sig; | return sig; |
} | } |
#else | #else |
int ServerProcess::cimserver_wait(void) { return 1; } |
int ServerProcess::cimserver_wait() { return 1; } |
#endif | #endif |
| |
String ServerProcess::getHome(void) { return String::EMPTY; } |
String ServerProcess::getHome() { return String::EMPTY; } |
| |
// daemon_init , RW Stevens, "Advance UNIX Programming" | // daemon_init , RW Stevens, "Advance UNIX Programming" |
| |
int ServerProcess::cimserver_fork(void) |
int ServerProcess::cimserver_fork() |
{ | { |
getSigHandle()->registerHandler(SIGTERM, sigTermHandler); | getSigHandle()->registerHandler(SIGTERM, sigTermHandler); |
getSigHandle()->activate(SIGTERM); | getSigHandle()->activate(SIGTERM); |
|
|
{ | { |
getSigHandle()->deactivate(PEGASUS_SIGUSR1); | getSigHandle()->deactivate(PEGASUS_SIGUSR1); |
getSigHandle()->deactivate(SIGTERM); | getSigHandle()->deactivate(SIGTERM); |
return(-1); |
return -1; |
} | } |
else if (pid != 0) | else if (pid != 0) |
{ | { |
|
|
sleep(1); | sleep(1); |
waitTime--; | waitTime--; |
} | } |
|
|
if( !handleSigUsr1 ) | if( !handleSigUsr1 ) |
{ | { |
MessageLoaderParms parms("src.Service.ServerProcessUnix.CIMSERVER_START_TIMEOUT", |
MessageLoaderParms parms( |
"The cimserver command timed out waiting for the CIM server to start."); |
"src.Service.ServerProcessUnix.CIMSERVER_START_TIMEOUT", |
PEGASUS_STD(cerr) << MessageLoader::getMessage(parms) << PEGASUS_STD(endl); |
"The cimserver command timed out waiting for the CIM server " |
|
"to start."); |
|
PEGASUS_STD(cerr) << MessageLoader::getMessage(parms) << |
|
PEGASUS_STD(endl); |
} | } |
exit(graveError); | exit(graveError); |
} | } |