(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.86 and 1.87

version 1.86, 2004/06/04 17:14:07 version 1.87, 2004/08/12 10:47:43
Line 26 
Line 26 
 // Author: Mike Day (mdday@us.ibm.com) // Author: Mike Day (mdday@us.ibm.com)
 // //
 // Modified By: // Modified By:
   //              Amit K Arora, IBM (amita@in.ibm.com) for Bug#1090
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 196 
Line 197 
    _default_op_timeout.tv_sec = 30;    _default_op_timeout.tv_sec = 30;
    _default_op_timeout.tv_usec = 100;    _default_op_timeout.tv_usec = 100;
  
    _meta_dispatcher_mutex.lock(pegasus_thread_self());     AutoMutex autoMut(_meta_dispatcher_mutex);
  
    if( _meta_dispatcher == 0 )    if( _meta_dispatcher == 0 )
    {    {
Line 204 
Line 205 
       _meta_dispatcher = new cimom();       _meta_dispatcher = new cimom();
       if (_meta_dispatcher == NULL )       if (_meta_dispatcher == NULL )
       {       {
          _meta_dispatcher_mutex.unlock();  
          throw NullPointer();          throw NullPointer();
       }       }
       _thread_pool = new ThreadPool(0, "MessageQueueService", 0, 0,       _thread_pool = new ThreadPool(0, "MessageQueueService", 0, 0,
Line 222 
Line 222 
  
    if( false == register_service(name, _capabilities, _mask) )    if( false == register_service(name, _capabilities, _mask) )
    {    {
       _meta_dispatcher_mutex.unlock();  
       //l10n       //l10n
       //throw BindFailedException("MessageQueueService Base Unable to register with  Meta Dispatcher");       //throw BindFailedException("MessageQueueService Base Unable to register with  Meta Dispatcher");
       MessageLoaderParms parms("Common.MessageQueueService.UNABLE_TO_REGISTER",       MessageLoaderParms parms("Common.MessageQueueService.UNABLE_TO_REGISTER",
Line 233 
Line 232 
  
    _polling_list.insert_last(this);    _polling_list.insert_last(this);
  
    _meta_dispatcher_mutex.unlock();  //   _meta_dispatcher_mutex.unlock();  //Bug#1090
 //   _callback_thread.run(); //   _callback_thread.run();
  
 //   _req_thread.run(); //   _req_thread.run();
Line 250 
Line 249 
    }    }
    _callback_ready.signal();    _callback_ready.signal();
  
    _meta_dispatcher_mutex.lock(pegasus_thread_self());     {
        AutoMutex autoMut(_meta_dispatcher_mutex);
    _service_count--;    _service_count--;
    if (_service_count.value() == 0 )    if (_service_count.value() == 0 )
    {    {
Line 267 
Line 267 
       delete _thread_pool;       delete _thread_pool;
       _thread_pool = 0;       _thread_pool = 0;
    }    }
    _meta_dispatcher_mutex.unlock();     } // mutex unlocks here
    _polling_list.remove(this);    _polling_list.remove(this);
    // Clean up in case there are extra stuff on the queue.    // Clean up in case there are extra stuff on the queue.
   while (_incoming.count())   while (_incoming.count())
Line 1173 
Line 1173 
 { {
    static Mutex _monitor;    static Mutex _monitor;
    Uint32 value;    Uint32 value;
    _monitor.lock(pegasus_thread_self());     AutoMutex autoMut(_monitor);
   
    _xid++;    _xid++;
    value =  _xid.value();    value =  _xid.value();
    _monitor.unlock();  
    return value;    return value;
  
 } }


Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2