version 1.8, 2005/02/06 21:23:07
|
version 1.10, 2005/02/08 22:39:32
|
|
|
"execl() failed. errno = %d.", errno); | "execl() failed. errno = %d.", errno); |
_exit(1); | _exit(1); |
} | } |
break; |
|
} | } |
catch (...) | catch (...) |
{ | { |
|
|
} | } |
_exit(1); | _exit(1); |
} | } |
|
PEG_METHOD_EXIT(); |
|
return; |
break; | break; |
| |
case -1: | case -1: |
|
|
break; | break; |
| |
default: | default: |
|
// Close our copies of the agent's ends of the pipes |
|
pipeToAgent->closeReadHandle(); |
|
pipeFromAgent->closeWriteHandle(); |
|
|
|
_pipeToAgent.reset(pipeToAgent.release()); |
|
_pipeFromAgent.reset(pipeFromAgent.release()); |
|
|
|
PEG_METHOD_EXIT(); |
|
} |
#else | #else |
pid_t pid = fork(); | pid_t pid = fork(); |
if (pid < 0) | if (pid < 0) |
|
|
{ | { |
Tracer::trace(TRC_DISCARDED_DATA, Tracer::LEVEL2, | Tracer::trace(TRC_DISCARDED_DATA, Tracer::LEVEL2, |
"System::changeUserContext() failed. userName = %s.", | "System::changeUserContext() failed. userName = %s.", |
_userName.getCString()); |
(const char*)_userName.getCString()); |
Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, | Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, |
Logger::WARNING, | Logger::WARNING, |
"ProviderManager.OOPProviderManagerRouter." | "ProviderManager.OOPProviderManagerRouter." |
|
|
_pipeToAgent.reset(pipeToAgent.release()); | _pipeToAgent.reset(pipeToAgent.release()); |
_pipeFromAgent.reset(pipeFromAgent.release()); | _pipeFromAgent.reset(pipeFromAgent.release()); |
| |
PEG_METHOD_EXIT(); |
|
|
|
#if defined (PEGASUS_OS_VMS) | #if defined (PEGASUS_OS_VMS) |
// | // |
// Denote end of switch | // Denote end of switch |
// | // |
} | } |
#endif | #endif |
|
|
|
PEG_METHOD_EXIT(); |
} | } |
| |
// Note: Caller must lock _agentMutex | // Note: Caller must lock _agentMutex |