From 4a24e06f71bf6642f4fffd0ba5f8217d7ddeb927 Mon Sep 17 00:00:00 2001 From: yfzhang Date: Thu, 4 Dec 2003 09:48:23 +0000 Subject: add release_guard --- .../Kokyu_dsrt_schedulers/EDF_Scheduler.cpp | 41 ++++++- TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h | 5 + .../Kokyu_dsrt_schedulers/EDF_Scheduling.pidl | 2 + .../Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp | 28 ++++- .../Kokyu_dsrt_schedulers/EDF_SchedulingC.h | 100 ++++++++-------- .../Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff | 4 +- .../Kokyu_dsrt_schedulers/EDF_SchedulingC.i | 8 +- TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl | 3 + TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp | 127 +++++---------------- TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h | 4 +- .../Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff | 10 +- TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i | 8 +- 12 files changed, 174 insertions(+), 166 deletions(-) diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp index a6cad99f25b..b00c6283a02 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp @@ -265,13 +265,17 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri CORBA::Long importance; TimeBase::TimeT deadline; + TimeBase::TimeT period; + int task_id; if (CORBA::is_nil (sched_policy)) { //24 hrs from now - infinity ACE_Time_Value deadline_tv = ACE_OS::gettimeofday () + ACE_Time_Value (24*60*60,0); - deadline = deadline_tv.sec () * 1000000 + deadline_tv.usec () * 10; //100s of nanoseconds for TimeBase::TimeT + deadline = deadline_tv.sec () * 10000000 + deadline_tv.usec () * 10; //100s of nanoseconds for TimeBase::TimeT importance = 0; + period = 0; //set period 0 as default. + task_id = ID_BEGIN ++; } else { @@ -281,6 +285,8 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri EDF_Scheduling::SchedulingParameter_var sched_param = sched_param_policy->value (); deadline = sched_param->deadline; importance = sched_param->importance; + period = sched_param->period; + task_id = sched_param->task_id; #ifdef KOKYU_DSRT_LOGGING int int_guid; @@ -297,6 +303,8 @@ EDF_Scheduler::send_request (PortableInterceptor::ClientRequestInfo_ptr ri guid_copy (sc_qos.guid, *(this->current_->id ())); sc_qos.deadline = deadline; sc_qos.importance = importance; + sc_qos.task_id = task_id; + sc_qos.period = period; CORBA::Any sc_qos_as_any; sc_qos_as_any <<= sc_qos; @@ -379,13 +387,18 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri, CORBA::Long importance; TimeBase::TimeT deadline; + TimeBase::TimeT period; + CORBA::Long task_id; if (sc.ptr () == 0) { + //Since send_request will add an QoS for any request, why can this case happen? //24 hrs from now - infinity ACE_Time_Value deadline_tv = ACE_OS::gettimeofday () + ACE_Time_Value (24*60*60,0); deadline = deadline_tv.sec ()*1000000 + deadline_tv.usec ()*10; //100s of nanoseconds for TimeBase::TimeT importance = 0; + period = 0; + task_id = ID_BEGIN ++; } else { @@ -401,6 +414,8 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri, deadline = sc_qos_ptr->deadline; importance = sc_qos_ptr->importance; + period = sc_qos_ptr->period; + task_id = sc_qos_ptr->task_id; guid.length (sc_qos_ptr->guid.length ()); guid_copy (guid, sc_qos_ptr->guid); @@ -424,15 +439,32 @@ EDF_Scheduler::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri, EDF_Scheduling::SchedulingParameter sched_param; sched_param.importance = importance; sched_param.deadline = deadline; + sched_param.period = period; + sched_param.task_id = task_id; sched_param_out = this->create_scheduling_parameter (sched_param); } EDF_Scheduler_Traits::QoSDescriptor_t qos; qos.importance_ = importance; qos.deadline_ = deadline; + qos.period_ = period; + qos.task_id_ = task_id; DSUI_EVENT_LOG (EDF_SCHED_FAM, ENTER_SERVER_DISPATCH_SCHEDULE, 0,0,NULL); + +/*DTTIME: + record the entering dispatcher time on the server side. + Tenth Time. +*/ +#ifdef KOKYU_HAS_RELEASE_GUARD + this->kokyu_dispatcher_->release_guard (guid, qos); +#else this->kokyu_dispatcher_->schedule (guid, qos); +#endif +/*DTTIME: + record the leaving dispatcher time on the server side. + Eleventh Time. +*/ DSUI_EVENT_LOG (EDF_SCHED_FAM, LEAVE_SERVER_DISPATCH_SCHEDULE, 0,0,NULL); #ifdef KOKYU_DSRT_LOGGING @@ -644,9 +676,10 @@ EDF_Scheduler::receive_other (PortableInterceptor::ClientRequestInfo_ptr ri ACE_THROW_SPEC ((CORBA::SystemException, PortableInterceptor::ForwardRequest)) { - /* receive_reply (ri ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - */ +//Otherwise Segmentation fault when oneway call happens. +/* receive_reply (ri ACE_ENV_ARG_PARAMETER); + ACE_CHECK; +*/ } void diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h index 0e0952fac97..a0c7f96fa9c 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduler.h @@ -8,6 +8,8 @@ #include "Kokyu_dsrt.h" #include "Kokyu_dsrt_schedulers_export.h" #include "tao/LocalObject.h" +#include "ace/Reactor.h" +#include "tao/ORB_Core.h" struct EDF_Scheduler_Traits { @@ -23,6 +25,8 @@ struct EDF_Scheduler_Traits Importance_t importance_; Time_t deadline_; + Time_t period_; + int task_id_; }; typedef _QoSDescriptor_t QoSDescriptor_t; @@ -201,4 +205,5 @@ public TAO_Local_RefCounted_Object int ace_sched_scope_; }; +static int ID_BEGIN = 0; #endif //EDF_SCHEDULER_H diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl index feecea50a46..4f16c754a6e 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl @@ -45,6 +45,8 @@ module EDF_Scheduling { TimeBase::TimeT deadline; long importance; + TimeBase::TimeT period; + long task_id; }; local interface SchedulingParameterPolicy diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp index 15af4a33e5e..b9640a4c8c7 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp @@ -75,7 +75,7 @@ static const CORBA::Long _oc_EDF_Scheduling_SchedulingParameter[] = ACE_NTOHL (0x6e675061), ACE_NTOHL (0x72616d65), ACE_NTOHL (0x74657200), // name = SchedulingParameter - 2, // member count + 4, // member count 9, ACE_NTOHL (0x64656164), ACE_NTOHL (0x6c696e65), @@ -104,6 +104,32 @@ static const CORBA::Long _oc_EDF_Scheduling_SchedulingParameter[] = ACE_NTOHL (0x63650000), // name = importance CORBA::tk_long, + 7, + ACE_NTOHL (0x70657269), + ACE_NTOHL (0x6f640000), // name = period + CORBA::tk_alias, // typecode kind for typedefs + 56, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 31, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 + 6, + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x54000000), // name = TimeT + CORBA::tk_ulonglong, + + + 8, + ACE_NTOHL (0x7461736b), + ACE_NTOHL (0x5f696400), // name = task_id + CORBA::tk_long, + }; static CORBA::TypeCode _tc_TAO_tc_EDF_Scheduling_SchedulingParameter ( diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h index 2046a30d347..bfd1d8cdd6f 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h @@ -86,54 +86,56 @@ namespace TAO namespace EDF_Scheduling { - + // TAO_IDL - Generated from // be/be_type.cpp:258 - + struct SchedulingParameter; - + typedef TAO_Fixed_Var_T< SchedulingParameter > SchedulingParameter_var; - + typedef SchedulingParameter & SchedulingParameter_out; - + // TAO_IDL - Generated from // be/be_visitor_structure/structure_ch.cpp:52 - + struct Kokyu_DSRT_Schedulers_Export SchedulingParameter { typedef SchedulingParameter_var _var_type; - + static void _tao_any_destructor (void *); TimeBase::TimeT deadline; CORBA::Long importance; + TimeBase::TimeT period; + CORBA::Long task_id; }; - + // TAO_IDL - Generated from // be/be_visitor_typecode/typecode_decl.cpp:44 - + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_SchedulingParameter; - + // TAO_IDL - Generated from // be/be_interface.cpp:612 #if !defined (_EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY__VAR_OUT_CH_) #define _EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY__VAR_OUT_CH_ - + class SchedulingParameterPolicy; typedef SchedulingParameterPolicy *SchedulingParameterPolicy_ptr; - + typedef TAO_Objref_Var_T< SchedulingParameterPolicy > SchedulingParameterPolicy_var; - + typedef TAO_Objref_Out_T< SchedulingParameterPolicy @@ -141,48 +143,48 @@ namespace EDF_Scheduling SchedulingParameterPolicy_out; #endif /* end #if !defined */ - + // TAO_IDL - Generated from // be/be_visitor_interface/interface_ch.cpp:54 #if !defined (_EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY_CH_) #define _EDF_SCHEDULING_SCHEDULINGPARAMETERPOLICY_CH_ - + class Kokyu_DSRT_Schedulers_Export SchedulingParameterPolicy : public virtual CORBA::Policy { public: typedef SchedulingParameterPolicy_ptr _ptr_type; typedef SchedulingParameterPolicy_var _var_type; - + // The static operations. static SchedulingParameterPolicy_ptr _duplicate (SchedulingParameterPolicy_ptr obj); - + static SchedulingParameterPolicy_ptr _narrow ( CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS ); - + static SchedulingParameterPolicy_ptr _nil (void) { return (SchedulingParameterPolicy_ptr)0; } static void _tao_any_destructor (void *); - + // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:46 - + virtual ::EDF_Scheduling::SchedulingParameter value ( ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS ) ACE_THROW_SPEC (( CORBA::SystemException )) = 0; - + // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:46 - + virtual void value ( const EDF_Scheduling::SchedulingParameter & value ACE_ENV_ARG_DECL_WITH_DEFAULTS @@ -190,53 +192,53 @@ namespace EDF_Scheduling ACE_THROW_SPEC (( CORBA::SystemException )) = 0; - + // TAO_IDL - Generated from // be/be_visitor_interface/interface_ch.cpp:192 - + virtual CORBA::Boolean _is_a ( const char *type_id ACE_ENV_ARG_DECL_WITH_DEFAULTS ); - + virtual const char* _interface_repository_id (void) const; virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr); - + protected: // Abstract or local interface only. SchedulingParameterPolicy (void); - + virtual ~SchedulingParameterPolicy (void); - + private: // Private and unimplemented for concrete interfaces. SchedulingParameterPolicy (const SchedulingParameterPolicy &); - + void operator= (const SchedulingParameterPolicy &); }; #endif /* end #if !defined */ - + // TAO_IDL - Generated from // be/be_visitor_typecode/typecode_decl.cpp:44 - + TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_SchedulingParameterPolicy; - + // TAO_IDL - Generated from // be/be_interface.cpp:612 #if !defined (_EDF_SCHEDULING_SCHEDULER__VAR_OUT_CH_) #define _EDF_SCHEDULING_SCHEDULER__VAR_OUT_CH_ - + class Scheduler; typedef Scheduler *Scheduler_ptr; - + typedef TAO_Objref_Var_T< Scheduler > Scheduler_var; - + typedef TAO_Objref_Out_T< Scheduler @@ -244,38 +246,38 @@ namespace EDF_Scheduling Scheduler_out; #endif /* end #if !defined */ - + // TAO_IDL - Generated from // be/be_visitor_interface/interface_ch.cpp:54 #if !defined (_EDF_SCHEDULING_SCHEDULER_CH_) #define _EDF_SCHEDULING_SCHEDULER_CH_ - + class Kokyu_DSRT_Schedulers_Export Scheduler : public virtual RTScheduling::Scheduler { public: typedef Scheduler_ptr _ptr_type; typedef Scheduler_var _var_type; - + // The static operations. static Scheduler_ptr _duplicate (Scheduler_ptr obj); - + static Scheduler_ptr _narrow ( CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS ); - + static Scheduler_ptr _nil (void) { return (Scheduler_ptr)0; } - + static void _tao_any_destructor (void *); - + // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:46 - + virtual ::EDF_Scheduling::SchedulingParameterPolicy_ptr create_scheduling_parameter ( const EDF_Scheduling::SchedulingParameter & value ACE_ENV_ARG_DECL_WITH_DEFAULTS @@ -283,24 +285,24 @@ namespace EDF_Scheduling ACE_THROW_SPEC (( CORBA::SystemException )) = 0; - + // TAO_IDL - Generated from // be/be_visitor_interface/interface_ch.cpp:192 - + virtual CORBA::Boolean _is_a ( const char *type_id ACE_ENV_ARG_DECL_WITH_DEFAULTS ); - + virtual const char* _interface_repository_id (void) const; virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr); - + protected: // Abstract or local interface only. Scheduler (void); - + virtual ~Scheduler (void); - + private: // Private and unimplemented for concrete interfaces. Scheduler (const Scheduler &); diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff index 57948652b95..d1505d6d604 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff @@ -1,5 +1,5 @@ ---- EDF_SchedulingC.h.orig 2003-11-11 11:20:37.000000000 -0600 -+++ EDF_SchedulingC.h 2003-11-11 11:22:34.000000000 -0600 +--- EDF_SchedulingC.h.orig 2003-12-04 00:55:30.000000000 -0600 ++++ EDF_SchedulingC.h 2003-12-04 00:55:53.000000000 -0600 @@ -44,8 +44,8 @@ #include "tao/Objref_VarOut_T.h" #include "tao/VarOut_T.h" diff --git a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i index 01800d7f7bf..bdc25a22993 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i +++ b/TAO/examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i @@ -37,7 +37,9 @@ CORBA::Boolean operator<< ( { return (strm << _tao_aggregate.deadline) && - (strm << _tao_aggregate.importance); + (strm << _tao_aggregate.importance) && + (strm << _tao_aggregate.period) && + (strm << _tao_aggregate.task_id); } ACE_INLINE @@ -48,6 +50,8 @@ CORBA::Boolean operator>> ( { return (strm >> _tao_aggregate.deadline) && - (strm >> _tao_aggregate.importance); + (strm >> _tao_aggregate.importance) && + (strm >> _tao_aggregate.period) && + (strm >> _tao_aggregate.task_id); } diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl index 69997034657..e9d9ae709dd 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl +++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qos.pidl @@ -52,6 +52,9 @@ module Kokyu RTCORBA::Priority desired_priority; TimeBase::TimeT deadline; TimeBase::TimeT estimated_initial_execution_time; + TimeBase::TimeT period; + long task_id; +// And deadline info in QoS is a subdeadline for a subtask or a task deadline. }; }; diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp index 0f6683a71bb..413c3c63ad6 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp +++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.cpp @@ -168,7 +168,7 @@ static const CORBA::Long _oc_Kokyu_Svc_Ctxt_DSRT_QoS[] = ACE_NTOHL (0x5f445352), ACE_NTOHL (0x545f516f), ACE_NTOHL (0x53000000), // name = Svc_Ctxt_DSRT_QoS - 6, // member count + 8, // member count 5, ACE_NTOHL (0x67756964), ACE_NTOHL (0x0), // name = guid @@ -284,6 +284,32 @@ static const CORBA::Long _oc_Kokyu_Svc_Ctxt_DSRT_QoS[] = CORBA::tk_ulonglong, + 7, + ACE_NTOHL (0x70657269), + ACE_NTOHL (0x6f640000), // name = period + CORBA::tk_alias, // typecode kind for typedefs + 56, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 31, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 + 6, + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x54000000), // name = TimeT + CORBA::tk_ulonglong, + + + 8, + ACE_NTOHL (0x7461736b), + ACE_NTOHL (0x5f696400), // name = task_id + CORBA::tk_long, + }; static CORBA::TypeCode _tc_TAO_tc_Kokyu_Svc_Ctxt_DSRT_QoS ( @@ -523,102 +549,3 @@ CORBA::Boolean operator>> ( #endif /* _TAO_CDR_OP_Kokyu_GuidType_CPP_ */ -// TAO_IDL - Generated from -// be/be_visitor_root/root.cpp:1702 - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) - - template class - TAO_FixedSeq_Var_T< - Kokyu::GuidType, - CORBA::Octet - >; - - template class - TAO_Seq_Var_Base_T< - Kokyu::GuidType, - CORBA::Octet - >; - - template class - TAO_Seq_Out_T< - Kokyu::GuidType, - Kokyu::GuidType_var, - CORBA::Octet - >; - - template class - TAO::Any_Dual_Impl_T< - Kokyu::GuidType - >; - - template class - TAO_Var_Var_T< - Kokyu::Svc_Ctxt_DSRT_QoS - >; - - template class - TAO_Var_Base_T< - Kokyu::Svc_Ctxt_DSRT_QoS - >; - - template class - TAO_Out_T< - Kokyu::Svc_Ctxt_DSRT_QoS, - Kokyu::Svc_Ctxt_DSRT_QoS_var - >; - - template class - TAO::Any_Dual_Impl_T< - Kokyu::Svc_Ctxt_DSRT_QoS - >; - -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) - -# pragma instantiate \ - TAO_FixedSeq_Var_T< \ - Kokyu::GuidType, \ - CORBA::Octet \ - > - -# pragma instantiate \ - TAO_Seq_Var_Base_T< \ - Kokyu::GuidType, \ - CORBA::Octet \ - > - -# pragma instantiate \ - TAO_Seq_Out_T< \ - Kokyu::GuidType, \ - Kokyu::GuidType_var, \ - CORBA::Octet \ - > - -# pragma instantiate \ - TAO::Any_Dual_Impl_T< \ - Kokyu::GuidType \ - > - -# pragma instantiate \ - TAO_Var_Var_T< \ - Kokyu::Svc_Ctxt_DSRT_QoS \ - > - -# pragma instantiate \ - TAO_Var_Base_T< \ - Kokyu::Svc_Ctxt_DSRT_QoS \ - > - -# pragma instantiate \ - TAO_Out_T< \ - Kokyu::Svc_Ctxt_DSRT_QoS, \ - Kokyu::Svc_Ctxt_DSRT_QoS_var \ - > - -# pragma instantiate \ - TAO::Any_Dual_Impl_T< \ - Kokyu::Svc_Ctxt_DSRT_QoS \ - > - -#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h index 56aef90a84a..efa03800bad 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h +++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h @@ -169,6 +169,8 @@ namespace Kokyu RTCORBA::Priority desired_priority; TimeBase::TimeT deadline; TimeBase::TimeT estimated_initial_execution_time; + TimeBase::TimeT period; + CORBA::Long task_id; }; // TAO_IDL - Generated from @@ -182,7 +184,7 @@ namespace Kokyu } // module Kokyu // TAO_IDL - Generated from -// be/be_visitor_traits.cpp:48 +// be/be_visitor_traits.cpp:50 // Traits specializations. namespace TAO diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff index 6d155e3f8dd..e02fdf5ae02 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff +++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.h.diff @@ -1,9 +1,9 @@ ---- Kokyu_qosC.h.orig Mon Sep 1 11:01:16 2003 -+++ Kokyu_qosC.h Mon Sep 1 11:01:28 2003 -@@ -39,7 +39,7 @@ - #endif /* ACE_LACKS_PRAGMA_ONCE */ - +--- Kokyu_qosC.h.orig 2003-12-04 00:40:48.000000000 -0600 ++++ Kokyu_qosC.h 2003-12-04 00:41:10.000000000 -0600 +@@ -45,7 +45,7 @@ + #include "tao/VarOut_T.h" + #include "TimeBaseC.h" -#include "tao/RTCORBA/RTCORBAC.h" +#include "tao/RTCORBA/RTCORBA.h" diff --git a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i index 6644f932d8d..ee9b6bcc39d 100644 --- a/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i +++ b/TAO/examples/Kokyu_dsrt_schedulers/Kokyu_qosC.i @@ -59,7 +59,9 @@ CORBA::Boolean operator<< ( (strm << _tao_aggregate.criticality) && (strm << _tao_aggregate.desired_priority) && (strm << _tao_aggregate.deadline) && - (strm << _tao_aggregate.estimated_initial_execution_time); + (strm << _tao_aggregate.estimated_initial_execution_time) && + (strm << _tao_aggregate.period) && + (strm << _tao_aggregate.task_id); } ACE_INLINE @@ -74,6 +76,8 @@ CORBA::Boolean operator>> ( (strm >> _tao_aggregate.criticality) && (strm >> _tao_aggregate.desired_priority) && (strm >> _tao_aggregate.deadline) && - (strm >> _tao_aggregate.estimated_initial_execution_time); + (strm >> _tao_aggregate.estimated_initial_execution_time) && + (strm >> _tao_aggregate.period) && + (strm >> _tao_aggregate.task_id); } -- cgit v1.2.1