version 1.155, 2008/12/04 18:23:07
|
version 1.156, 2008/12/05 09:00:57
|
|
|
| |
cimom *MessageQueueService::_meta_dispatcher = 0; | cimom *MessageQueueService::_meta_dispatcher = 0; |
AtomicInt MessageQueueService::_service_count(0); | AtomicInt MessageQueueService::_service_count(0); |
|
Mutex MessageQueueService::_meta_dispatcher_mutex; |
| |
static struct timeval deallocateWait = {300, 0}; | static struct timeval deallocateWait = {300, 0}; |
| |
|
|
PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3, | PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3, |
"max_threads_per_svc_queue set to %u.", max_threads_per_svc_queue)); | "max_threads_per_svc_queue set to %u.", max_threads_per_svc_queue)); |
| |
|
AutoMutex mtx(_meta_dispatcher_mutex); |
|
|
if (_meta_dispatcher == 0) | if (_meta_dispatcher == 0) |
{ | { |
_stop_polling = 0; | _stop_polling = 0; |
|
|
} | } |
| |
{ | { |
|
AutoMutex mtx(_meta_dispatcher_mutex); |
|
|
_service_count--; | _service_count--; |
// If we are last service to die, delete metadispatcher. | // If we are last service to die, delete metadispatcher. |
if (_service_count.get() == 0) | if (_service_count.get() == 0) |