diff options
author | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-12 02:58:20 +0000 |
---|---|---|
committer | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-12 02:58:20 +0000 |
commit | 1f89455515043242c68c7b16f248796452c9ae03 (patch) | |
tree | 2c45f8e6a9f3bdc565f33f3290dfba218244ec0b /TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp | |
parent | 0ac825ef47e755ea99f8ab399f727411ccea0a19 (diff) | |
download | ATCD-1f89455515043242c68c7b16f248796452c9ae03.tar.gz |
ChangeLogTag: Sat Oct 11 21:42:36 2003 Venkita Subramonian <venkita@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp index 015c5e97b85..e30cfbe09a0 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp @@ -64,6 +64,41 @@ TAO_EC_Kokyu_Factory::init (int argc, ACE_TCHAR* argv[]) } arg_shifter.consume_arg (); } + //if Kokyu dispatching - look for sched policy + if (this->dispatching_ == 2) + { + if (arg_shifter.is_parameter_next ()) + { + const ACE_TCHAR* opt = arg_shifter.get_current (); + if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("SCHED_FIFO")) == 0) + { + this->disp_sched_policy_ = ACE_SCHED_FIFO; + } + else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("SCHED_RR")) == 0) + { + this->disp_sched_policy_ = ACE_SCHED_RR; + } + else + { + this->disp_sched_policy_ = ACE_SCHED_OTHER; + } + arg_shifter.consume_arg (); + + if (arg_shifter.is_parameter_next ()) + { + const ACE_TCHAR* opt = arg_shifter.get_current (); + if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("SYSTEM")) == 0) + { + this->disp_sched_policy_ = ACE_SCOPE_THREAD; + } + else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("PROCESS")) == 0) + { + this->disp_sched_policy_ = ACE_SCOPE_PROCESS; + } + arg_shifter.consume_arg (); + } + } + } } else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-ECFiltering")) == 0) @@ -178,7 +213,9 @@ TAO_EC_Dispatching* TAO_EC_Kokyu_Factory::create_dispatching (TAO_EC_Event_Channel_Base *ec) { if (this->dispatching_ == 2) - return new TAO_EC_Kokyu_Dispatching (ec); + return new TAO_EC_Kokyu_Dispatching (ec, + this->disp_sched_policy_, + this->disp_sched_scope_); return this->TAO_EC_Default_Factory::create_dispatching (ec); } |