diff options
author | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-21 03:27:03 +0000 |
---|---|---|
committer | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-21 03:27:03 +0000 |
commit | 0c4f11eb426d06d0062321851c92fecdc6754127 (patch) | |
tree | f5ae3ea382ba5ca985fdc3092107c1fe002f1f89 | |
parent | 7b440886f0708c772256f1598d40b7bcc7e333b1 (diff) | |
download | ATCD-0c4f11eb426d06d0062321851c92fecdc6754127.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp | 3 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp | 11 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h | 4 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp | 7 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp | 32 |
5 files changed, 52 insertions, 5 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp index 2d7a359b555..e7cb2716c45 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp @@ -43,6 +43,7 @@ TAO_EC_Priority_Dispatching::activate (void) ACE_DECLARE_NEW_CORBA_ENV; for (int i = 0; i < this->ntasks_; ++i) { +#if 0 //ifdef'd by VS ACE_TRY { RtecScheduler::Period_t period = @@ -73,6 +74,8 @@ TAO_EC_Priority_Dispatching::activate (void) } ACE_ENDTRY; +#endif //ifdef 0 end by VS + ACE_NEW (this->tasks_[i], TAO_EC_Dispatching_Task (&this->thread_manager_)); diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp index 4a98e9bf5d4..940e9fe912c 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp @@ -21,6 +21,13 @@ TAO_EC_Sched_Factory::~TAO_EC_Sched_Factory (void) } int +TAO_EC_Sched_Factory::init_svcs (void) +{ + return ACE_Service_Config::static_svcs ()-> + insert (&ace_svc_desc_TAO_EC_Sched_Factory); +} + +int TAO_EC_Sched_Factory::init (int argc, ACE_TCHAR* argv[]) { ACE_Arg_Shifter arg_shifter (argc, argv); @@ -132,7 +139,7 @@ TAO_EC_Sched_Factory::init (int argc, ACE_TCHAR* argv[]) { this->scheduling_ = 0; } - else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("priority")) == 0) + else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("group")) == 0) { this->scheduling_ = 1; } @@ -206,7 +213,7 @@ TAO_EC_Sched_Factory::create_scheduling_strategy (TAO_EC_Event_Channel* ec) RtecScheduler::Scheduler::_narrow (tmp.in ()); return new TAO_EC_Priority_Scheduling (scheduler.in ()); } - return this->TAO_EC_Sched_Factory::create_scheduling_strategy (ec); + return this->TAO_EC_Default_Factory::create_scheduling_strategy (ec); } // **************************************************************** diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h index 311b08694ad..26cbc96deda 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h @@ -36,6 +36,10 @@ public: /// Constructor TAO_EC_Sched_Factory (void); + /// Helper function to register the sched factory into the service + /// configurator. + static int init_svcs (void); + /// destructor... virtual ~TAO_EC_Sched_Factory (void); diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp index 7391d41bd8c..6d59aac0f1d 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp @@ -202,6 +202,8 @@ TAO_EC_Sched_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) if (this->rt_info_computed_) return; +#if 0 //ifdef'ed by VS + // Provide dummy values the scheduler will compute them based on the // dependencies and the fact that this is a DISJUNCTION. this->scheduler_->set (this->rt_info_, @@ -216,6 +218,7 @@ TAO_EC_Sched_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) this->info_type_ ACE_ENV_ARG_PARAMETER); ACE_CHECK; +#endif //ifdef'ed by VS #if 0 ChildrenIterator end = this->end (); @@ -243,7 +246,7 @@ TAO_EC_Sched_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) } #endif /* 0 */ -#if 1 +#if 0 //ifdef changed from 1 to 0 by VS if (this->body_info_ != this->rt_info_) { this->scheduler_->add_dependency (this->rt_info_, @@ -262,7 +265,7 @@ TAO_EC_Sched_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) } #endif /* 0 */ -#if 1 +#if 0 //ifdef changed from 1 to 0 by VS this->scheduler_->add_dependency (this->parent_info_, this->rt_info_, 1, diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp index 593fdc01afd..601bc84b597 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp @@ -33,14 +33,16 @@ TAO_EC_Sched_Filter_Builder::build ( RtecScheduler::Scheduler::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (0); +#if 0 //by VS // @@ How do we figure out which parent??? RtecScheduler::handle_t parent_info = scheduler->lookup ("Dispatching_Task-250000.us" ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (0); +#endif return this->recursive_build (supplier, qos, pos, scheduler.in (), - parent_info + 0 //parent_info ACE_ENV_ARG_PARAMETER); } @@ -144,6 +146,34 @@ TAO_EC_Sched_Filter_Builder::recursive_build ( ACE_CHECK_RETURN (0); return filter; } +#if 1 //added by VS + else if (e.header.type == ACE_ES_GLOBAL_DESIGNATOR) + { + CORBA::ULong npos = pos+1; + const RtecEventComm::Event& e = qos.dependencies[npos].event; + + RtecScheduler::handle_t body_info = qos.dependencies[npos].rt_info; + + RtecScheduler::RT_Info_var info = + scheduler->get (body_info ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + ACE_CString name = info->entry_point.in (); + + TAO_EC_Sched_Filter *filter; + ACE_NEW_RETURN (filter, + TAO_EC_Sched_Filter (name.c_str (), + body_info, + scheduler, + new TAO_EC_Type_Filter (e.header), + body_info, + 0, + RtecScheduler::OPERATION), + 0); + + return filter; + } +#endif else if (e.header.type == ACE_ES_EVENT_TIMEOUT || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT |