summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h
diff options
context:
space:
mode:
authorcleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-11-21 20:05:23 +0000
committercleeland <cleeland@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-11-21 20:05:23 +0000
commit74695db6afa6397290dac69353d0b73299625366 (patch)
tree13bd8b2faf57ba9300438fa0240dd7f32aa656fe /TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h
parentb103e4631022ffeb93ce5d42b669436f8ccb455d (diff)
downloadATCD-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.h33
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"