version 1.84, 2003/02/11 01:44:54
|
version 1.85, 2003/03/04 17:55:48
|
|
|
// (carolann_graves@hp.com) | // (carolann_graves@hp.com) |
// Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com) | // Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com) |
// | // |
|
// Modified By: Dave Rosckes (rosckes@us.ibm.com) |
|
// |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
| |
|
|
} | } |
catch(Exception& e) | catch(Exception& e) |
{ | { |
PEGASUS_STD(cerr) << "Unable to connect to CIM Server." << PEGASUS_STD(endl); |
|
PEGASUS_STD(cerr) << "CIM Server may not be running." << PEGASUS_STD(endl); |
|
#ifdef PEGASUS_OS_OS400 | #ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"Unable to connect to CIM Server. CIM Server may not be running." ); |
// The server job may still be active but not responding. | // The server job may still be active but not responding. |
// Kill the job if it exists. | // Kill the job if it exists. |
cimserver_kill(); | cimserver_kill(); |
return; |
exit(1); |
|
#else |
|
PEGASUS_STD(cerr) << "Unable to connect to CIM Server." << PEGASUS_STD(endl); |
|
PEGASUS_STD(cerr) << "CIM Server may not be running." << PEGASUS_STD(endl); |
#endif | #endif |
exit(0); | exit(0); |
} | } |
|
|
} | } |
catch(CIMException& e) | catch(CIMException& e) |
{ | { |
|
#ifdef PEGASUS_OS_OS400 |
|
|
|
if (e.getCode() == CIM_ERR_INVALID_NAMESPACE) |
|
{ |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"Failed to shutdown server: $0", "The repository may be empty."); |
|
} |
|
else |
|
{ |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"Failed to shutdown server: $0", e.getMessage()); |
|
} |
|
// Kill the server job. |
|
cimserver_kill(); |
|
#else |
PEGASUS_STD(cerr) << "Failed to shutdown server: "; | PEGASUS_STD(cerr) << "Failed to shutdown server: "; |
if (e.getCode() == CIM_ERR_INVALID_NAMESPACE) | if (e.getCode() == CIM_ERR_INVALID_NAMESPACE) |
{ | { |
|
|
{ | { |
PEGASUS_STD(cerr) << e.getMessage() << PEGASUS_STD(endl); | PEGASUS_STD(cerr) << e.getMessage() << PEGASUS_STD(endl); |
} | } |
#ifdef PEGASUS_OS_OS400 |
|
// Kill the server job. |
|
cimserver_kill(); |
|
return; |
|
#endif | #endif |
exit(1); | exit(1); |
|
|
} | } |
catch(Exception& e) | catch(Exception& e) |
{ | { |
|
|
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
|
#ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"$0: $1",argv[0] ,e.getMessage()); |
|
#else |
cerr << argv[0] << ": " << e.getMessage() << endl; | cerr << argv[0] << ": " << e.getMessage() << endl; |
|
#endif |
exit(1); | exit(1); |
} | } |
| |
|
|
// Might be more logical to clean before set. | // Might be more logical to clean before set. |
// ATTN: Need tool to completely disable logging. | // ATTN: Need tool to completely disable logging. |
| |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \ |
|
!defined(PEGASUS_OS_OS400) |
Logger::setHomeDirectory(logsDirectory); | Logger::setHomeDirectory(logsDirectory); |
#endif | #endif |
| |
|
|
| |
shutdownCIMOM(timeoutValue); | shutdownCIMOM(timeoutValue); |
| |
cout << "CIM Server stopped." << endl; |
|
#ifdef PEGASUS_OS_OS400 | #ifdef PEGASUS_OS_OS400 |
return(0); |
Logger::put(Logger::ERROR_LOG, "", Logger::INFORMATION, |
|
"CIM Server stopped."); |
|
#else |
|
cout << "CIM Server stopped." << endl; |
#endif | #endif |
exit(0); | exit(0); |
} | } |
|
|
httpsPort = configManager->getCurrentValue("httpsPort"); | httpsPort = configManager->getCurrentValue("httpsPort"); |
| |
// Leave this in until people get familiar with the logs. | // Leave this in until people get familiar with the logs. |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \ |
|
!defined(PEGASUS_OS_OS400) |
cout << "Logs Directory = " << logsDirectory << endl; | cout << "Logs Directory = " << logsDirectory << endl; |
#endif | #endif |
| |
|
|
} | } |
catch (UnrecognizedConfigProperty e) | catch (UnrecognizedConfigProperty e) |
{ | { |
|
|
|
#ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"Error: $0",e.getMessage()); |
|
#else |
cout << "Error: " << e.getMessage() << endl; | cout << "Error: " << e.getMessage() << endl; |
|
#endif |
} | } |
| |
Uint32 portNumber; | Uint32 portNumber; |
|
|
} | } |
| |
// Put out startup up message. | // Put out startup up message. |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \ |
|
!defined(PEGASUS_OS_OS400) |
cout << PEGASUS_NAME << PEGASUS_VERSION << | cout << PEGASUS_NAME << PEGASUS_VERSION << |
" on port " << address << endl; | " on port " << address << endl; |
cout << "Built " << __DATE__ << " " << __TIME__ << endl; | cout << "Built " << __DATE__ << " " << __TIME__ << endl; |
|
|
{ | { |
if(-1 == cimserver_fork()) | if(-1 == cimserver_fork()) |
#ifndef PEGASUS_OS_OS400 | #ifndef PEGASUS_OS_OS400 |
|
{ |
exit(-1); | exit(-1); |
|
} |
#else | #else |
|
{ |
return(-1); | return(-1); |
|
} |
else | else |
|
{ |
return(0); | return(0); |
|
} |
#endif | #endif |
|
|
} | } |
| |
#ifdef PEGASUS_OS_OS400 | #ifdef PEGASUS_OS_OS400 |
|
|
if (cimserver_initialize() != 0) | if (cimserver_initialize() != 0) |
{ | { |
// do some logging here! | // do some logging here! |
|
Logger::put(Logger::ERROR_LOG, "", Logger::SEVERE, |
|
"CIM Server failed to initialize"); |
exit(-1); | exit(-1); |
} | } |
#endif | #endif |
|
|
| |
// bind throws an exception if the bind fails | // bind throws an exception if the bind fails |
#ifdef PEGASUS_LOCAL_DOMAIN_SOCKET | #ifdef PEGASUS_LOCAL_DOMAIN_SOCKET |
|
#ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::STANDARD_LOG, "", Logger::INFORMATION, |
|
"Binding to domain socket"); |
|
#else |
cout << "Binding to domain socket" << endl; | cout << "Binding to domain socket" << endl; |
|
#endif |
#elif !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) | #elif !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) |
|
#ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::STANDARD_LOG, "", Logger::INFORMATION, |
|
"Binding to domain socket"); |
|
#else |
cout << "Binding to " << address << endl; | cout << "Binding to " << address << endl; |
#endif | #endif |
|
#endif |
| |
server.bind(portNumber); | server.bind(portNumber); |
| |
|
|
fclose(pid_file); | fclose(pid_file); |
} | } |
#endif | #endif |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) |
#if !defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_LINUX_IA64_GNU) && \ |
|
!defined(PEGASUS_OS_OS400) |
cout << "Started. " << endl; | cout << "Started. " << endl; |
#endif | #endif |
| |
|
|
} | } |
catch(Exception& e) | catch(Exception& e) |
{ | { |
|
#ifdef PEGASUS_OS_OS400 |
|
Logger::put(Logger::STANDARD_LOG, "", Logger::INFORMATION, |
|
"Error: $0", e.getMessage()); |
|
#else |
PEGASUS_STD(cerr) << "Error: " << e.getMessage() << PEGASUS_STD(endl); | PEGASUS_STD(cerr) << "Error: " << e.getMessage() << PEGASUS_STD(endl); |
|
#endif |
| |
// | // |
// notify parent process (if there is a parent process) to terminate | // notify parent process (if there is a parent process) to terminate |