version 1.89, 2006/08/08 17:47:13
|
version 1.90, 2006/08/09 21:13:00
|
|
|
(void *)this, ProviderManagerService::handleCimOperation)) != PEGASUS_THREAD_OK) | (void *)this, ProviderManagerService::handleCimOperation)) != PEGASUS_THREAD_OK) |
{ | { |
if (rtn==PEGASUS_THREAD_INSUFFICIENT_RESOURCES) | if (rtn==PEGASUS_THREAD_INSUFFICIENT_RESOURCES) |
pegasus_yield(); |
Threads::yield(); |
else | else |
{ | { |
Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, | Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
|
|
| |
// Note: This method should not throw an exception. It is used as a thread | // Note: This method should not throw an exception. It is used as a thread |
// entry point, and any exceptions thrown are ignored. | // entry point, and any exceptions thrown are ignored. |
PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL |
ThreadReturnType PEGASUS_THREAD_CDECL |
ProviderManagerService::handleCimOperation(void* arg) | ProviderManagerService::handleCimOperation(void* arg) |
{ | { |
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, | PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, |
|
|
"op node in queue"); | "op node in queue"); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return(PEGASUS_THREAD_RETURN(1)); |
return(ThreadReturnType(1)); |
} | } |
| |
AsyncOpNode* op = service->_incomingQueue.remove_front(); | AsyncOpNode* op = service->_incomingQueue.remove_front(); |
|
|
{ | { |
// reply with NAK | // reply with NAK |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return(PEGASUS_THREAD_RETURN(0)); |
return(ThreadReturnType(0)); |
} | } |
| |
Message* legacy = | Message* legacy = |
|
|
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
return(PEGASUS_THREAD_RETURN(0)); |
return(ThreadReturnType(0)); |
} | } |
| |
void ProviderManagerService::handleCimRequest( | void ProviderManagerService::handleCimRequest( |
|
|
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
| |
PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL |
ThreadReturnType PEGASUS_THREAD_CDECL |
ProviderManagerService::_unloadIdleProvidersHandler(void* arg) throw() | ProviderManagerService::_unloadIdleProvidersHandler(void* arg) throw() |
{ | { |
try | try |
|
|
"Unexpected exception in _unloadIdleProvidersHandler"); | "Unexpected exception in _unloadIdleProvidersHandler"); |
} | } |
| |
return(PEGASUS_THREAD_RETURN(0)); |
return(ThreadReturnType(0)); |
} | } |
| |
// Updates the providerModule instance and the ProviderRegistrationManager | // Updates the providerModule instance and the ProviderRegistrationManager |
|
|
| |
while (((MessageQueueService *)indicationsQueue)->getIncomingCount() > INDICATIONS_Q_RESUME_THRESHOLD) | while (((MessageQueueService *)indicationsQueue)->getIncomingCount() > INDICATIONS_Q_RESUME_THRESHOLD) |
{ | { |
pegasus_sleep(INDICATIONS_Q_STALL_DURATION); |
Threads::sleep(INDICATIONS_Q_STALL_DURATION); |
} | } |
| |
AutoMutex indicationThresholdReportedAutoMutex1(indicationThresholdReportedLock); | AutoMutex indicationThresholdReportedAutoMutex1(indicationThresholdReportedLock); |
// indicationThresholdReportedLock.lock(pegasus_thread_self()); |
// indicationThresholdReportedLock.lock(); |
if(indicationThresholdReported) | if(indicationThresholdReported) |
{ | { |
indicationThresholdReported = false; | indicationThresholdReported = false; |