diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-08 22:57:25 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-07-08 22:57:25 +0000 |
commit | 1a3d15dc8cd8120071952e25aa9f853a902a008b (patch) | |
tree | c8e00737606582d2b9b6db970a86a19336ffd4e6 /ace/Strategies_T.cpp | |
parent | e119db677b02259075b49a15bdf1b6350d73b135 (diff) | |
download | ATCD-1a3d15dc8cd8120071952e25aa9f853a902a008b.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Strategies_T.cpp')
-rw-r--r-- | ace/Strategies_T.cpp | 54 |
1 files changed, 21 insertions, 33 deletions
diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp index 39e318ef19c..3a0bb9652a7 100644 --- a/ace/Strategies_T.cpp +++ b/ace/Strategies_T.cpp @@ -644,35 +644,15 @@ ACE_Process_Strategy<SVC_HANDLER>::activate_svc_handler (SVC_HANDLER *svc_handle } template <class SVC_HANDLER> -ACE_Scheduling_Strategy<SVC_HANDLER>::ACE_Scheduling_Strategy (SVC_HANDLER *scheduler) - : scheduler_ (scheduler), - delete_scheduler_ (0) +ACE_Scheduling_Strategy<SVC_HANDLER>::ACE_Scheduling_Strategy (SVC_HANDLER *) { ACE_TRACE ("ACE_Scheduling_Strategy<SVC_HANDLER>::ACE_Scheduling_Strategy"); - - if (this->scheduler_ == 0) - { - // Create a new SVC_HANDLER and assign the global Thread_Manager - // and Reactor to it... - ACE_NEW (this->scheduler_, SVC_HANDLER); - - if (this->scheduler_->thr_mgr () == 0) - this->scheduler_->thr_mgr (ACE_Thread_Manager::instance ()); - - if (this->scheduler_->reactor () == 0) - this->scheduler_->reactor (ACE_Reactor::instance ()); - - this->delete_scheduler_ = 1; - } } template <class SVC_HANDLER> ACE_Scheduling_Strategy<SVC_HANDLER>::~ACE_Scheduling_Strategy (void) { ACE_TRACE ("ACE_Scheduling_Strategy<SVC_HANDLER>::~ACE_Scheduling_Strategy"); - - if (this->delete_scheduler_) - this->scheduler_->destroy (); } template <class SVC_HANDLER> void @@ -681,8 +661,6 @@ ACE_Scheduling_Strategy<SVC_HANDLER>::dump (void) const ACE_TRACE ("ACE_Scheduling_Strategy<SVC_HANDLER>::dump"); ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("scheduler_ = %x"), this->scheduler_)); - ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("\ndelete_scheduler_ = %d"), this->delete_scheduler_)); ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); } @@ -706,13 +684,25 @@ ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::ACE_Schedule_All_Reactive_Strat : ACE_Scheduling_Strategy<SVC_HANDLER> (scheduler) { ACE_TRACE ("ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::ACE_Schedule_All_Reactive_Strategy"); + + if (scheduler == 0 || scheduler->reactor () == 0) + this->reactor_ = ACE_Reactor::instance (); + else + this->reactor_ = this->scheduler_->reactor (); } template <class SVC_HANDLER> int ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::suspend (void) { ACE_TRACE ("ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::suspend"); - return this->scheduler_->reactor ()->suspend_handlers (); + return this->reactor_->suspend_handlers (); +} + +template <class SVC_HANDLER> int +ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::resume (void) +{ + ACE_TRACE ("ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::resume"); + return this->reactor_->resume_handlers (); } template <class SVC_HANDLER> void @@ -723,33 +713,31 @@ ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::dump (void) const ACE_Scheduling_Strategy<SVC_HANDLER>::dump (); } -template <class SVC_HANDLER> int -ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::resume (void) -{ - ACE_TRACE ("ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::resume"); - return this->scheduler_->reactor ()->resume_handlers (); -} - template <class SVC_HANDLER> ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::ACE_Schedule_All_Threaded_Strategy (SVC_HANDLER *scheduler) : ACE_Scheduling_Strategy<SVC_HANDLER> (scheduler) { ACE_TRACE ("ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::ACE_Schedule_All_Threaded_Strategy"); + + if (scheduler == 0 || scheduler->thr_mgr () == 0) + this->thr_mgr_ = ACE_Thread_Manager::instance (); + else + this->thr_mgr_ = this->scheduler_->thr_mgr (); } template <class SVC_HANDLER> int ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::suspend (void) { ACE_TRACE ("ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::suspend"); - return this->scheduler_->thr_mgr ()->suspend_all (); + return this->thr_mgr_->suspend_all (); } template <class SVC_HANDLER> int ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::resume (void) { ACE_TRACE ("ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::resume"); - return this->scheduler_->thr_mgr ()->resume_all (); + return this->thr_mgr_->resume_all (); } template <class SVC_HANDLER> void |