diff options
author | cleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-11-21 20:05:23 +0000 |
---|---|---|
committer | cleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-11-21 20:05:23 +0000 |
commit | 74695db6afa6397290dac69353d0b73299625366 (patch) | |
tree | 13bd8b2faf57ba9300438fa0240dd7f32aa656fe /TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h | |
parent | b103e4631022ffeb93ce5d42b669436f8ccb455d (diff) | |
download | ATCD-74695db6afa6397290dac69353d0b73299625366.tar.gz |
Mon Nov 21 13:21:03 2005 Chris Cleeland <cleeland_c@ociweb.com>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h index 35ae030502e..3c3220aa7a0 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h +++ b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h @@ -38,7 +38,8 @@ class TAO_Notify_Buffering_Strategy; * */ class TAO_Notify_Serv_Export TAO_Notify_ThreadPool_Task - : public TAO_Notify_Worker_Task, public ACE_Task<ACE_NULL_SYNCH> + : public TAO_Notify_Worker_Task + , public ACE_Task<ACE_NULL_SYNCH> { friend class TAO_Notify_Method_Request_Shutdown; @@ -56,7 +57,7 @@ public: virtual int close (u_long flags); /// Activate the threadpool - void init (const NotifyExt::ThreadPoolParams& tp_params, TAO_Notify_AdminProperties::Ptr& admin_properties ACE_ENV_ARG_DECL); + void init (const NotifyExt::ThreadPoolParams& tp_params, const TAO_Notify_AdminProperties::Ptr& admin_properties ACE_ENV_ARG_DECL); /// Queue the request virtual void execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL); @@ -78,9 +79,6 @@ private: /// Release virtual void release (void); - /// wait for all threads to exit svc() - virtual void wait_for_shutdown (); - /// The buffering strategy to use. ACE_Auto_Ptr< TAO_Notify_Buffering_Strategy > buffering_strategy_; @@ -89,32 +87,9 @@ private: /// The Queue based timer. TAO_Notify_Timer_Queue::Ptr timer_; - - // Since this class already inherited from ACE_Event_Handler - // I did not want to conflict with a possible parent - /// implementation of handle_exception. - class Shutdown_Handler : public ACE_Event_Handler - { - public: - Shutdown_Handler (TAO_Notify_ThreadPool_Task* owner) : owner_ (owner) {}; - - /// wait for all threads to complete in another thread - virtual int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE) - { - ACE_UNUSED_ARG (fd); - owner_->wait_for_shutdown (); - return 0; - } - private: - TAO_Notify_ThreadPool_Task* owner_; - }; - - friend class Shutdown_Handler; - - Shutdown_Handler shutdown_handler_; - }; + TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" |