(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.82.6.1 and 1.85

version 1.82.6.1, 2003/10/29 22:09:18 version 1.85, 2003/11/07 19:18:46
Line 77 
Line 77 
  
       }       }
    }    }
    exit_thread((PEGASUS_THREAD_RETURN)dead_threads);  
    return (PEGASUS_THREAD_RETURN)dead_threads;    return (PEGASUS_THREAD_RETURN)dead_threads;
 } }
  
Line 161 
Line 160 
       if(_check_idle_flag.value() != 0 )       if(_check_idle_flag.value() != 0 )
       {       {
          _check_idle_flag = 0;          _check_idle_flag = 0;
          Thread th(kill_idle_threads, 0, true);  
          th.run();           // If there are insufficent resources to run
            // kill_idle_threads, then just return.
            _thread_pool->allocate_and_awaken(service, kill_idle_threads);
       }       }
    }    }
    myself->exit_self( (PEGASUS_THREAD_RETURN) 1 );    myself->exit_self( (PEGASUS_THREAD_RETURN) 1 );
Line 178 
Line 179 
 MessageQueueService::MessageQueueService(const char *name, MessageQueueService::MessageQueueService(const char *name,
                                          Uint32 queueID,                                          Uint32 queueID,
                                          Uint32 capabilities,                                          Uint32 capabilities,
                                          Uint32 mask,                                           Uint32 mask)
                                          int threads)  
    : Base(name, true,  queueID),    : Base(name, true,  queueID),
  
      _mask(mask),      _mask(mask),
Line 209 
Line 209 
          _meta_dispatcher_mutex.unlock();          _meta_dispatcher_mutex.unlock();
          throw NullPointer();          throw NullPointer();
       }       }
       _thread_pool = new ThreadPool(0, "MessageQueueService", 0, threads,        _thread_pool = new ThreadPool(0, "MessageQueueService", 0, 0,
                                     create_time, destroy_time, deadlock_time);                                     create_time, destroy_time, deadlock_time);
  
       _polling_thread = new Thread(polling_routine,       _polling_thread = new Thread(polling_routine,
                                    reinterpret_cast<void *>(&_polling_list),                                    reinterpret_cast<void *>(&_polling_list),
                                    false);                                    false);
       _polling_thread->run();        while (!_polling_thread->run())
         {
            pegasus_yield();
         }
    }    }
    _service_count++;    _service_count++;
  
Line 305 
Line 308 
  
  
  
 void MessageQueueService::enqueue(Message *msg) throw(IPCException)  void MessageQueueService::enqueue(Message *msg)
 { {
    PEG_METHOD_ENTER(TRC_MESSAGEQUEUESERVICE, "MessageQueueService::enqueue()");    PEG_METHOD_ENTER(TRC_MESSAGEQUEUESERVICE, "MessageQueueService::enqueue()");
  


Legend:
Removed from v.1.82.6.1  
changed lines
  Added in v.1.85

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2