diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp deleted file mode 100644 index 096ae4c3ba0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp +++ /dev/null @@ -1,92 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_MT_Dispatching.h" - -ACE_RCSID(Event, EC_MT_Dispatching, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_MT_Dispatching::TAO_EC_MT_Dispatching (int nthreads, - int thread_creation_flags, - int thread_priority, - int force_activate, - TAO_EC_Queue_Full_Service_Object* service_object) - : nthreads_ (nthreads), - thread_creation_flags_ (thread_creation_flags), - thread_priority_ (thread_priority), - force_activate_ (force_activate), - active_ (0), - queue_full_service_object_ (service_object) -{ - this->task_.open (&this->thread_manager_); -} - -void -TAO_EC_MT_Dispatching::activate (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ != 0) - return; - - this->active_ = 1; - - if (this->task_.activate (this->thread_creation_flags_, - this->nthreads_, - 1, - this->thread_priority_) == -1) - { - if (this->force_activate_ != 0) - { - ACE_DEBUG ((LM_DEBUG, - "EC (%P|%t) activating dispatching queue at" - " default priority\n")); - if (this->task_.activate (THR_BOUND, this->nthreads_) == -1) - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) cannot activate dispatching queue.\n")); - } - } -} - -void -TAO_EC_MT_Dispatching::shutdown (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ == 0) - return; - - for (int i = 0; i < this->nthreads_; ++i) - { - this->task_.putq (new TAO_EC_Shutdown_Task_Command); - } - this->thread_manager_.wait (); -} - -void -TAO_EC_MT_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_MT_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - // Double checked locking.... - if (this->active_ == 0) - this->activate (); - - this->task_.push (proxy, consumer, event ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL |