(file) Return to MessageQueueService.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/MessageQueueService.cpp between version 1.119.12.6 and 1.119.12.7

version 1.119.12.6, 2006/06/30 20:07:50 version 1.119.12.7, 2006/06/30 20:25:43
Line 55 
Line 55 
  
 ThreadPool *MessageQueueService::_thread_pool = 0; ThreadPool *MessageQueueService::_thread_pool = 0;
  
 List<MessageQueueService, RecursiveMutex> MessageQueueService::_polling_list;  MessageQueueService::PollingList* MessageQueueService::_polling_list;
   Mutex MessageQueueService::_polling_list_mutex;
  
 Thread* MessageQueueService::_polling_thread = 0; Thread* MessageQueueService::_polling_thread = 0;
  
Line 280 
Line 281 
       throw BindFailedException(parms);       throw BindFailedException(parms);
    }    }
  
    _polling_list.insert_back(this);     _get_polling_list()->insert_back(this);
  
 } }
  
Line 298 
Line 299 
    // ATTN: added to prevent assertion in List in which the list does not    // ATTN: added to prevent assertion in List in which the list does not
    // contain this element.    // contain this element.
  
    if (_polling_list.contains(this))     if (_get_polling_list()->contains(this))
        _polling_list.remove(this);         _get_polling_list()->remove(this);
  
    // ATTN: The code for closing the _incoming queue    // ATTN: The code for closing the _incoming queue
    // is not working correctly. In OpenPegasus 2.5,    // is not working correctly. In OpenPegasus 2.5,
Line 708 
Line 709 
    {    {
       _polling_thread = new Thread(       _polling_thread = new Thread(
           polling_routine,           polling_routine,
           reinterpret_cast<void *>(&_polling_list),            reinterpret_cast<void *>(_get_polling_list()),
           false);           false);
       ThreadStatus tr = PEGASUS_THREAD_OK;       ThreadStatus tr = PEGASUS_THREAD_OK;
       while ( (tr =_polling_thread->run()) != PEGASUS_THREAD_OK)       while ( (tr =_polling_thread->run()) != PEGASUS_THREAD_OK)
Line 1271 
Line 1272 
    return ++_xid;    return ++_xid;
 } }
  
   MessageQueueService::PollingList* MessageQueueService::_get_polling_list()
   {
       _polling_list_mutex.lock();
   
       if (!_polling_list)
           _polling_list = new PollingList;
   
       _polling_list_mutex.unlock();
   
       return _polling_list;
   }
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.119.12.6  
changed lines
  Added in v.1.119.12.7

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2