(file) Return to OOPProviderManagerRouter.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / Attic

Diff for /pegasus/src/Pegasus/ProviderManager2/Attic/OOPProviderManagerRouter.cpp between version 1.18 and 1.20

version 1.18, 2005/06/21 22:56:02 version 1.20, 2005/06/29 19:48:10
Line 677 
Line 677 
         _sendInitializationData();         _sendInitializationData();
  
         // Start a thread to read and process responses from the Provider Agent         // Start a thread to read and process responses from the Provider Agent
         while (!MessageQueueService::get_thread_pool()->allocate_and_awaken(          ThreadStatus rtn = PEGASUS_THREAD_OK;
                    this, _responseProcessor))          while ((rtn = MessageQueueService::get_thread_pool()->
                      allocate_and_awaken(this, _responseProcessor)) !=
                  PEGASUS_THREAD_OK)
           {
               if (rtn == PEGASUS_THREAD_INSUFFICIENT_RESOURCES)
         {         {
             pegasus_yield();             pegasus_yield();
         }         }
               else
               {
                   Logger::put(
                       Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
                       "Not enough threads to process responses from the "
                           "provider agent.");
   
                   Tracer::trace(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
                       "Could not allocate thread to process responses from the "
                           "provider agent.");
   
                   throw Exception(MessageLoaderParms(
                       "ProviderManager.OOPProviderManagerRouter."
                           "CIMPROVAGT_THREAD_ALLOCATION_FAILED",
                       "Failed to allocate thread for cimprovagt \"$0\".",
                       _moduleName));
               }
           }
     }     }
     catch (...)     catch (...)
     {     {
           // Closing the connection causes the agent process to exit
           _pipeToAgent.reset();
           _pipeFromAgent.reset();
   
 #if defined(PEGASUS_HAS_SIGNALS) #if defined(PEGASUS_HAS_SIGNALS)
         if (_isInitialized)         if (_isInitialized)
         {         {
Line 711 
Line 737 
 #endif #endif
  
         _isInitialized = false;         _isInitialized = false;
         _pipeToAgent.reset();  
         _pipeFromAgent.reset();  
  
         {         {
             AutoMutex lock(_numProviderProcessesMutex);             AutoMutex lock(_numProviderProcessesMutex);


Legend:
Removed from v.1.18  
changed lines
  Added in v.1.20

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2