diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-14 16:17:49 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-14 16:17:49 +0000 |
commit | 6b7e1ab825533aa6f5b86d9882e94644dda34cbc (patch) | |
tree | 87a1769a8bb6089cc7014681464bce1865c7fd80 | |
parent | 65db6135aaa21bbd13f7917ff97d570f06576389 (diff) | |
download | ATCD-6b7e1ab825533aa6f5b86d9882e94644dda34cbc.tar.gz |
ChangeLogTag: ue Nov 14 16:17:04 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
24 files changed, 649 insertions, 524 deletions
diff --git a/TAO/examples/RTScheduling/DT_Creator.cpp b/TAO/examples/RTScheduling/DT_Creator.cpp index 4a7db7dd4ab..a0ae68a61ce 100644 --- a/TAO/examples/RTScheduling/DT_Creator.cpp +++ b/TAO/examples/RTScheduling/DT_Creator.cpp @@ -2,12 +2,14 @@ #include "DT_Creator.h" #include "Thread_Task.h" -#include "tao/ORB_Core.h" #include "Task_Stats.h" -#include "ace/High_Res_Timer.h" #include "DT_Creator.h" + +#include "tao/ORB_Core.h" #include "tao/RTScheduling/Current.h" +#include "ace/High_Res_Timer.h" + ACE_Atomic_Op<TAO_SYNCH_MUTEX, long> guid_counter; int @@ -21,6 +23,7 @@ DT_Creator::dt_task_init (ACE_Arg_Shifter& arg_shifter) char *job_name = 0; int dist = 0; const ACE_TCHAR* current_arg = 0; + if (arg_shifter.cur_arg_strncasecmp ("-Importance") == 0) { arg_shifter.consume_arg (); @@ -28,38 +31,44 @@ DT_Creator::dt_task_init (ACE_Arg_Shifter& arg_shifter) importance = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } + if ((current_arg = arg_shifter.get_the_parameter ("-Start_Time"))) { start_time = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } + if ((current_arg = arg_shifter.get_the_parameter ("-Iter"))) { iter = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } + if ((current_arg = arg_shifter.get_the_parameter ("-Load"))) { load = ACE_OS::atoi (current_arg); arg_shifter.consume_arg (); } + if ((current_arg = arg_shifter.get_the_parameter ("-JobName"))) { job_name = (char *)current_arg; dist = 1; arg_shifter.consume_arg (); } + dt_list_ [dt_index++] = this->create_thr_task (importance, - start_time, - load, - iter, - dist, - job_name); - return 0; + start_time, + load, + iter, + dist, + job_name); + return 0; } int log_index = 0; + int DT_Creator::init (int argc, char *argv []) { @@ -81,18 +90,18 @@ DT_Creator::init (int argc, char *argv []) int job_count = 0; while (arg_shifter.is_anything_left ()) { - if ((current_arg = arg_shifter.get_the_parameter ("-GuidSeed"))) + if ((current_arg = arg_shifter.get_the_parameter ("-GuidSeed"))) { - guid_counter = (long) ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - } - else if ((current_arg = arg_shifter.get_the_parameter ("-DT_Count"))) - { - dt_count_ = ACE_OS::atoi (current_arg); + guid_counter = (long) ACE_OS::atoi (current_arg); + arg_shifter.consume_arg (); + } + else if ((current_arg = arg_shifter.get_the_parameter ("-DT_Count"))) + { + dt_count_ = ACE_OS::atoi (current_arg); ACE_NEW_RETURN (dt_list_, Thread_Task*[dt_count_], -1); - active_dt_count_ = dt_count_; + active_dt_count_ = dt_count_; arg_shifter.consume_arg (); - } + } else if ((current_arg = arg_shifter.get_the_parameter ("-POA_Count"))) { poa_count_ = ACE_OS::atoi (current_arg); @@ -102,17 +111,17 @@ DT_Creator::init (int argc, char *argv []) else if ((current_arg = arg_shifter.get_the_parameter ("-JOB_Count"))) { job_count_ = ACE_OS::atoi (current_arg); - active_job_count_ = job_count_; - ACE_NEW_RETURN (job_list_, Job_i*[job_count_], -1); + active_job_count_ = job_count_; + ACE_NEW_RETURN (job_list_, Job_i*[job_count_], -1); arg_shifter.consume_arg (); } else if (arg_shifter.cur_arg_strncasecmp ("-DT_Task") == 0) - { + { arg_shifter.consume_arg (); - dt_task_init (arg_shifter); - } + dt_task_init (arg_shifter); + } else if (arg_shifter.cur_arg_strncasecmp ("-POA") == 0) - { + { arg_shifter.consume_arg (); ACE_NEW_RETURN (this->poa_list_[poa_count], POA_Holder (), -1); @@ -122,33 +131,37 @@ DT_Creator::init (int argc, char *argv []) delete this->poa_list_[poa_count]; return -1; } - else - poa_count++; - } + else + { + poa_count++; + } + } else if (arg_shifter.cur_arg_strncasecmp ("-Job") == 0) - { + { arg_shifter.consume_arg (); ACE_NEW_RETURN (this->job_list_[job_count], Job_i (this), -1); if (this->job_list_[job_count]->init (arg_shifter) == -1) - { - delete this->job_list_[job_count]; - return -1; - } - else - job_count++; - } + { + delete this->job_list_[job_count]; + return -1; + } + else + { + job_count++; + } + } else if ((current_arg = arg_shifter.get_the_parameter ("-OutFile"))) - { - file_name_ = CORBA::string_dup (current_arg); - arg_shifter.consume_arg (); - } + { + file_name_ = CORBA::string_dup (current_arg); + arg_shifter.consume_arg (); + } else if ((current_arg = arg_shifter.get_the_parameter ("-LogFile"))) - { - log_file_name_ = CORBA::string_dup (current_arg); - arg_shifter.consume_arg (); - } + { + log_file_name_ = CORBA::string_dup (current_arg); + arg_shifter.consume_arg (); + } else { arg_shifter.ignore_arg (); @@ -173,7 +186,7 @@ DT_Creator::register_synch_obj (ACE_ENV_SINGLE_ARG_DECL) CORBA::string_dup ("Synch"); synch_context = this->naming_->bind_new_context (name - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; // @@ -195,7 +208,7 @@ DT_Creator::register_synch_obj (ACE_ENV_SINGLE_ARG_DECL) CORBA::Object_var object = this->naming_->resolve (name - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; synch_context = CosNaming::NamingContext::_narrow (object.in ()); @@ -214,19 +227,19 @@ DT_Creator::register_synch_obj (ACE_ENV_SINGLE_ARG_DECL) CORBA::string_dup (synch_name.c_str ()); ACE_DEBUG ((LM_DEBUG, - "Synch Name %s\n", - synch_name.c_str ())); - + "Synch Name %s\n", + synch_name.c_str ())); + ACE_NEW (synch_, - Synch_i); - + Synch_i); + Synch_var synch = synch_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; // Register the synch object with the Synch context. synch_context->rebind (name, - synch.in () - ACE_ENV_ARG_PARAMETER); + synch.in () + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } @@ -237,12 +250,12 @@ DT_Creator::activate_root_poa (ACE_ENV_SINGLE_ARG_DECL) { CORBA::Object_var object = orb_->resolve_initial_references ("RootPOA" - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); root_poa_ = PortableServer::POA::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); PortableServer::POAManager_var poa_manager = @@ -260,25 +273,25 @@ DT_Creator::activate_poa_list (ACE_ENV_SINGLE_ARG_DECL) { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "DT_Creator::activate_poa_list\n")); + "DT_Creator::activate_poa_list\n")); if (poa_count_ > 0) { CORBA::Object_var object = - orb_->resolve_initial_references ("RTORB" - ACE_ENV_ARG_PARAMETER); + orb_->resolve_initial_references ("RTORB" + ACE_ENV_ARG_PARAMETER); ACE_CHECK; this->rt_orb_ = - RTCORBA::RTORB::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); + RTCORBA::RTORB::_narrow (object.in () + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } - + for (int i = 0; i < poa_count_; ++i) { poa_list_[i]->activate (this->rt_orb_.in(), this->root_poa_.in () - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } } @@ -289,7 +302,7 @@ DT_Creator::activate_job_list (ACE_ENV_SINGLE_ARG_DECL) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "DT_Creator::activate_job_list\n")); + "DT_Creator::activate_job_list\n")); Job_i* job; @@ -349,8 +362,8 @@ DT_Creator::activate_schedule (ACE_ENV_SINGLE_ARG_DECL) { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "Activating schedule, task count = %d\n", - dt_count_)); + "Activating schedule, task count = %d\n", + dt_count_)); Thread_Task* task; @@ -359,60 +372,60 @@ DT_Creator::activate_schedule (ACE_ENV_SINGLE_ARG_DECL) task = dt_list_[i]; if (task->dist ()) - { - // resolve the object from the naming service - CosNaming::Name name (1); - name.length (1); - name[0].id = CORBA::string_dup (task->job ()); - - CORBA::Object_var obj = - this->naming_->resolve (name ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Job_var job = Job::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // if (TAO_debug_level > 0) - // { - // Check that the object is configured with some - // PriorityModelPolicy. - CORBA::Policy_var policy = - job->_get_policy (RTCORBA::PRIORITY_MODEL_POLICY_TYPE - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RTCORBA::PriorityModelPolicy_var priority_policy = - RTCORBA::PriorityModelPolicy::_narrow (policy.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (priority_policy.in ())) - ACE_DEBUG ((LM_DEBUG, - "ERROR: Priority Model Policy not exposed!\n")); - else - { + { + // resolve the object from the naming service + CosNaming::Name name (1); + name.length (1); + name[0].id = CORBA::string_dup (task->job ()); + + CORBA::Object_var obj = + this->naming_->resolve (name ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + Job_var job = Job::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + // if (TAO_debug_level > 0) + // { + // Check that the object is configured with some + // PriorityModelPolicy. + CORBA::Policy_var policy = + job->_get_policy (RTCORBA::PRIORITY_MODEL_POLICY_TYPE + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + RTCORBA::PriorityModelPolicy_var priority_policy = + RTCORBA::PriorityModelPolicy::_narrow (policy.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + if (CORBA::is_nil (priority_policy.in ())) + ACE_DEBUG ((LM_DEBUG, + "ERROR: Priority Model Policy not exposed!\n")); + else + { /* - RTCORBA::PriorityModel priority_model = - priority_policy->priority_model (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (priority_model == RTCORBA::CLIENT_PROPAGATED) - ACE_DEBUG ((LM_DEBUG, - "%s priority_model = RTCORBA::CLIENT_PROPAGATED\n", task->job ())); - else - ACE_DEBUG ((LM_DEBUG, - "%s priority_model = RTCORBA::SERVER_DECLARED\n", task->job ())); - */ - } - //} /* if (TAO_debug_level > 0) */ - - task->job (job.in ()); - } + RTCORBA::PriorityModel priority_model = + priority_policy->priority_model (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + if (priority_model == RTCORBA::CLIENT_PROPAGATED) + ACE_DEBUG ((LM_DEBUG, + "%s priority_model = RTCORBA::CLIENT_PROPAGATED\n", task->job ())); + else + ACE_DEBUG ((LM_DEBUG, + "%s priority_model = RTCORBA::SERVER_DECLARED\n", task->job ())); + */ + } + //} /* if (TAO_debug_level > 0) */ + + task->job (job.in ()); + } } if (TAO_debug_level > 0 && dt_count_ > 0) ACE_DEBUG ((LM_DEBUG, - "Activated schedule, task count = %d\n", - dt_count_)); + "Activated schedule, task count = %d\n", + dt_count_)); } @@ -442,7 +455,7 @@ DT_Creator::resolve_naming_service (ACE_ENV_SINGLE_ARG_DECL) void DT_Creator::create_distributable_threads (RTScheduling::Current_ptr current - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL) { current_ = RTScheduling::Current::_duplicate (current); @@ -454,24 +467,24 @@ DT_Creator::create_distributable_threads (RTScheduling::Current_ptr current ACE_DEBUG ((LM_DEBUG, "Waiting to Synch\n")); - + while (!this->synch ()->synched ()) { this->orb_->perform_work (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; } - + CORBA::Policy_var sched_param; sched_param = CORBA::Policy::_duplicate (this->sched_param (100)); const char * name = 0; current_->begin_scheduling_segment (name, - sched_param.in (), - sched_param.in () - ACE_ENV_ARG_PARAMETER); + sched_param.in (), + sched_param.in () + ACE_ENV_ARG_PARAMETER); ACE_CHECK; ACE_NEW (base_time_, - ACE_Time_Value (*(this->synch ()->base_time ()))); + ACE_Time_Value (*(this->synch ()->base_time ()))); for (int i = 0; i < this->dt_count_; i++) { @@ -481,9 +494,9 @@ DT_Creator::create_distributable_threads (RTScheduling::Current_ptr current char buf [BUFSIZ]; ACE_OS::sprintf (buf, "elapsed time = %d\n now = %d\n base_time_ = %d\n", - (int) elapsed_time.sec (), - (int) now.sec (), - (int) base_time_->sec()); + (int) elapsed_time.sec (), + (int) now.sec (), + (int) base_time_->sec()); log [log_index++] = ACE_OS::strdup (buf) ; @@ -491,21 +504,21 @@ DT_Creator::create_distributable_threads (RTScheduling::Current_ptr current ACE_Thread::self (curr_thr); if (dt_list_ [i]->start_time () != 0 && (elapsed_time.sec () < dt_list_[i]->start_time ())) - { - int suspension_time = dt_list_[i]->start_time () - elapsed_time.sec (); - ACE_OS::sprintf (buf,"suspension_tome = %d\n", - suspension_time); - log [log_index++] = ACE_OS::strdup (buf); - yield (suspension_time, - dt_list_[i]); - } + { + int suspension_time = dt_list_[i]->start_time () - elapsed_time.sec (); + ACE_OS::sprintf (buf,"suspension_tome = %d\n", + suspension_time); + log [log_index++] = ACE_OS::strdup (buf); + yield (suspension_time, + dt_list_[i]); + } sched_param = CORBA::Policy::_duplicate (this->sched_param (dt_list_ [i]->importance ())); dt_list_ [i]->activate_task (current, - sched_param.in (), - flags, - base_time_ - ACE_ENV_ARG_PARAMETER); + sched_param.in (), + flags, + base_time_ + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } @@ -513,7 +526,7 @@ DT_Creator::create_distributable_threads (RTScheduling::Current_ptr current this->wait (); current_->end_scheduling_segment (name - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; this->check_ifexit (); @@ -553,9 +566,9 @@ DT_Creator::check_ifexit (void) { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "Checking exit status Job# = %d DT# = %d\n", - active_job_count_, - active_dt_count_)); + "Checking exit status Job# = %d DT# = %d\n", + active_job_count_, + active_dt_count_)); static int shutdown = 0; @@ -564,47 +577,47 @@ DT_Creator::check_ifexit (void) if (!shutdown) { - // All tasks have finished and all jobs have been shutdown. - if (active_dt_count_ == 0 && active_job_count_ == 0) - { - - ACE_DEBUG ((LM_DEBUG, "Shutdown in progress ...\n")); - - /* - for (int i = 0; i < dt_count_; i++) - { - dt_list_[i]->dump_stats (); - } - - for (int i = 0; i < job_count_; i ++) - { - job_list_[i]->dump_stats (); - } - */ - TASK_STATS::instance ()->dump_samples (file_name_, - "#Schedule Output", - ACE_High_Res_Timer::global_scale_factor ()); - - shutdown = 1; - - FILE* log_file = ACE_OS::fopen (log_file_name_, "w"); - - if (log_file != NULL) - { - // first dump what the caller has to say. - ACE_OS::fprintf (log_file, "Log File\n"); - - for (int i = 0; i < log_index; i++) - { - ACE_OS::fprintf (log_file, "%s\n", log [i]); - } - - ACE_OS::fclose (log_file); - } - ACE_DEBUG ((LM_DEBUG, - "Log File Ready\n")); - - } + // All tasks have finished and all jobs have been shutdown. + if (active_dt_count_ == 0 && active_job_count_ == 0) + { + + ACE_DEBUG ((LM_DEBUG, "Shutdown in progress ...\n")); + + /* + for (int i = 0; i < dt_count_; i++) + { + dt_list_[i]->dump_stats (); + } + + for (int i = 0; i < job_count_; i ++) + { + job_list_[i]->dump_stats (); + } + */ + TASK_STATS::instance ()->dump_samples (file_name_, + "#Schedule Output", + ACE_High_Res_Timer::global_scale_factor ()); + + shutdown = 1; + + FILE* log_file = ACE_OS::fopen (log_file_name_, "w"); + + if (log_file != NULL) + { + // first dump what the caller has to say. + ACE_OS::fprintf (log_file, "Log File\n"); + + for (int i = 0; i < log_index; i++) + { + ACE_OS::fprintf (log_file, "%s\n", log [i]); + } + + ACE_OS::fclose (log_file); + } + ACE_DEBUG ((LM_DEBUG, + "Log File Ready\n")); + + } } } } diff --git a/TAO/examples/RTScheduling/DT_Creator.h b/TAO/examples/RTScheduling/DT_Creator.h index b461ab298b2..106f4221307 100644 --- a/TAO/examples/RTScheduling/DT_Creator.h +++ b/TAO/examples/RTScheduling/DT_Creator.h @@ -1,25 +1,28 @@ //$Id$ + #ifndef DT_CREATOR_H #define DT_CREATOR_H +#include "POA_Holder.h" +#include "Job_i.h" +#include "Synch_i.h" +#include "rtschedtestlib_export.h" + +#include "tao/RTScheduling/RTScheduler.h" #include "orbsvcs/CosNamingC.h" + #include "ace/Service_Config.h" #include "ace/Service_Object.h" -#include "tao/RTScheduling/RTScheduler.h" #include "ace/Arg_Shifter.h" -#include "POA_Holder.h" -#include "Job_i.h" -#include "Synch_i.h" class Thread_Task; class Task; - typedef Thread_Task **DT_LIST; typedef POA_Holder **POA_LIST; typedef Job_i **JOB_LIST; -class DT_Creator : public ACE_Service_Object +class RTSCHEDTESTLIB_Export DT_Creator : public ACE_Service_Object { public: DT_Creator (void); @@ -31,27 +34,27 @@ class DT_Creator : public ACE_Service_Object int dt_task_init (ACE_Arg_Shifter& arg_shifter); virtual void create_distributable_threads (RTScheduling::Current_ptr current - ACE_ENV_ARG_DECL_WITH_DEFAULTS); + ACE_ENV_ARG_DECL_WITH_DEFAULTS); void activate_poa_list (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); void activate_job_list (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); void activate_schedule (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); virtual void yield (int suspend_time, - Thread_Task* task) = 0; + Thread_Task* task) = 0; virtual void wait (void) = 0; virtual CORBA::Policy_ptr sched_param (int importance) = 0; - + virtual Thread_Task* create_thr_task (int importance, - int start_time, - int load, - int iter, - int dist, - char *job_name) = 0; + int start_time, + int load, + int iter, + int dist, + char *job_name) = 0; // virtual Task* task (void) = 0; - + /// Resolve the naming service. int resolve_naming_service (ACE_ENV_SINGLE_ARG_DECL); @@ -67,21 +70,21 @@ class DT_Creator : public ACE_Service_Object void orb (CORBA::ORB_ptr); CORBA::ORB_ptr orb (void); - ACE_Time_Value* base_time (void); - void base_time (ACE_Time_Value*); + ACE_Time_Value* base_time (void); + void base_time (ACE_Time_Value*); - ACE_hrtime_t base_hr_time (void); + ACE_hrtime_t base_hr_time (void); virtual int total_load (void) = 0; - RTScheduling::Current_ptr current (void); + RTScheduling::Current_ptr current (void); Synch_i* synch (void); void register_synch_obj (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); int activate_root_poa (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - + protected: @@ -100,7 +103,7 @@ class DT_Creator : public ACE_Service_Object int active_job_count_; char** log; ACE_Time_Value* base_time_; - RTScheduling::Current_var current_; + RTScheduling::Current_var current_; /// RT ORB RTCORBA::RTORB_var rt_orb_; /// Reference to the root poa. diff --git a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.cpp b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.cpp index b5da788d9fe..b6dfd750067 100644 --- a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.cpp +++ b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.cpp @@ -10,37 +10,39 @@ FP_DT_Creator::FP_DT_Creator (void) } -Thread_Task* +Thread_Task* FP_DT_Creator::create_thr_task (int importance, - int start_time, - int load, - int iter, - int dist, - char *job_name) + int start_time, + int load, + int iter, + int dist, + char *job_name) { - FP_Task* task; - ACE_NEW_RETURN (task, - FP_Task (importance, - start_time, - load, - iter, - dist, - job_name, - this), - 0); + FP_Task* task = 0; + ACE_NEW_RETURN (task, + FP_Task (importance, + start_time, + load, + iter, + dist, + job_name, + this), + 0); return task; } CORBA::Policy_ptr FP_DT_Creator::sched_param (int importance) { - return DT_TEST::instance ()->scheduler ()->create_segment_scheduling_parameter (importance); + return + DT_TEST::instance ()->scheduler ()->create_segment_scheduling_parameter ( + importance); } void FP_DT_Creator::yield (int suspend_time, - Thread_Task*) + Thread_Task*) { ACE_OS::sleep (suspend_time); } diff --git a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.h b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.h index 34a2fbb7e08..8bbb5376d50 100644 --- a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.h +++ b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.h @@ -15,14 +15,14 @@ public: //virtual Task* task (void); virtual Thread_Task* create_thr_task (int importance, - int start_time, - int load, - int iter, - int dist, - char *job_name); - + int start_time, + int load, + int iter, + int dist, + char *job_name); + virtual void yield (int suspend_time, - Thread_Task* task); + Thread_Task* task); virtual void wait (void); virtual int total_load (void); diff --git a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc index 859b12478a1..a40849650ca 100644 --- a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc +++ b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc @@ -1,24 +1,22 @@ // -*- MPC -*- // $Id$ -project(*Starter): namingexe, rtscheduling_server { +project(*Starter): portableserver, namingexe { after += MIF_Scheduler_Starter - idlflags += -o .. - libs += Synch + libs += RTSchedSynch Source_Files { ../Starter.cpp - ../Synch_i.cpp } exename = Starter } project(*test) : namingexe, rtscheduling_server { - after += *Starter Job - libs += Synch Job + after += *Starter RTSchedTestLib + libs += RTSchedTestLib Job RTSchedSynch - idlflags += -o .. + idlflags += -SS -St -o .. IDL_Files { ../FP_Scheduling.idl @@ -30,12 +28,10 @@ project(*test) : namingexe, rtscheduling_server { FP_Task.cpp FP_Scheduler.cpp ../FP_SchedulingC.cpp - ../Thread_Task.cpp - ../DT_Creator.cpp - ../Job_i.cpp - ../POA_Holder.cpp - ../Task_Stats.cpp - ../Synch_i.cpp + } + + Header_Files { + fp_dt_creator_export.h } exename = test diff --git a/TAO/examples/RTScheduling/Job.mpc b/TAO/examples/RTScheduling/Job.mpc index 75841704e50..103df7d95ce 100644 --- a/TAO/examples/RTScheduling/Job.mpc +++ b/TAO/examples/RTScheduling/Job.mpc @@ -5,6 +5,8 @@ project(Job): portableserver { idlflags += -St \ -Wb,export_macro=JOB_Export \ -Wb,export_include=job_export.h + after += RTSchedSynch + libs += RTSchedSynch dynamicflags += JOB_BUILD_DLL IDL_Files { diff --git a/TAO/examples/RTScheduling/Job_i.cpp b/TAO/examples/RTScheduling/Job_i.cpp index 6179d1dac37..00a5c022d0e 100644 --- a/TAO/examples/RTScheduling/Job_i.cpp +++ b/TAO/examples/RTScheduling/Job_i.cpp @@ -1,10 +1,12 @@ //$Id$ + #include "Job_i.h" +#include "DT_Creator.h" +#include "Task_Stats.h" #include "tao/debug.h" + #include "ace/Arg_Shifter.h" -#include "DT_Creator.h" -#include "Task_Stats.h" #include "ace/High_Res_Timer.h" #include "ace/OS_NS_sys_time.h" #include "ace/Countdown_Time.h" @@ -50,27 +52,27 @@ Job_i::init (ACE_Arg_Shifter& arg_shifter) void Job_i::work (CORBA::ULong work, - CORBA::Short importance - ACE_ENV_ARG_DECL) + CORBA::Short importance + ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { static CORBA::ULong prime_number = 9619; if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "test_i::method: %d units of work\n", - work)); + "test_i::method: %d units of work\n", + work)); if (guid_ == 0) ACE_OS::memcpy (&guid_, - dt_creator_->current ()->id (ACE_ENV_SINGLE_ARG_PARAMETER)->get_buffer (), - sizeof (dt_creator_->current ()->id (ACE_ENV_SINGLE_ARG_PARAMETER)->length ())); + dt_creator_->current ()->id (ACE_ENV_SINGLE_ARG_PARAMETER)->get_buffer (), + sizeof (dt_creator_->current ()->id (ACE_ENV_SINGLE_ARG_PARAMETER)->length ())); if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "%t Guid is %d, Importance is %d\n", - guid_, - importance)); + "%t Guid is %d, Importance is %d\n", + guid_, + importance)); char msg [BUFSIZ]; ACE_OS::sprintf (msg, @@ -91,12 +93,12 @@ Job_i::work (CORBA::ULong work, ACE_Countdown_Time count_down (&count_down_time); while (count_down_time > ACE_Time_Value::zero) - { - ACE::is_prime (prime_number, - 2, - prime_number / 2); - count_down.update (); - } + { + ACE::is_prime (prime_number, + 2, + prime_number / 2); + count_down.update (); + } run_time = ACE_OS::gettimeofday () - *(dt_creator_->base_time ()); TASK_STATS::instance ()->sample (run_time.sec (), guid_); @@ -105,16 +107,16 @@ Job_i::work (CORBA::ULong work, sched_param = CORBA::Policy::_duplicate (dt_creator_->sched_param (importance)); const char * name = 0; dt_creator_->current ()->update_scheduling_segment (name, - sched_param.in (), - sched_param.in () - ACE_ENV_ARG_PARAMETER); + sched_param.in (), + sched_param.in () + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } } void Job_i::post_work (int /*guid*/, - int /*importance*/) + int /*importance*/) { } @@ -143,8 +145,8 @@ Job_i::dump_stats (void) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "File name %s\n", - fname)); + "File name %s\n", + fname)); char msg [BUFSIZ]; @@ -154,6 +156,6 @@ Job_i::dump_stats (void) guid_); task_stats_->dump_samples (fname, - msg, - ACE_High_Res_Timer::global_scale_factor ()); + msg, + ACE_High_Res_Timer::global_scale_factor ()); } diff --git a/TAO/examples/RTScheduling/Job_i.h b/TAO/examples/RTScheduling/Job_i.h index acf9febe00c..219c5908f33 100644 --- a/TAO/examples/RTScheduling/Job_i.h +++ b/TAO/examples/RTScheduling/Job_i.h @@ -15,6 +15,8 @@ #include "JobS.h" #include "Task_Stats.h" +#include "rtschedtestlib_export.h" + #include "ace/SString.h" #include "ace/Arg_Shifter.h" @@ -26,7 +28,7 @@ class DT_Creator; * @brief Implements a Job that performs some cpu bound work. * */ -class Job_i : public POA_Job +class RTSCHEDTESTLIB_Export Job_i : public POA_Job { public: /// Constructor @@ -43,14 +45,14 @@ class Job_i : public POA_Job /// = inteface Job method implementation. virtual void work (CORBA::ULong work, - CORBA::Short importance - ACE_ENV_ARG_DECL) + CORBA::Short importance + ACE_ENV_ARG_DECL) ACE_THROW_SPEC (( CORBA::SystemException )); virtual void post_work (int guid, - int importance); + int importance); void dump_stats (void); diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.h b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.h index 6453b197ce6..c388b0f58d6 100644 --- a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.h +++ b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.h @@ -3,14 +3,16 @@ #ifndef MIF_SCHEDULER_H #define MIF_SCHEDULER_H +#include "../MIF_SchedulingC.h" + #include "tao/orbconf.h" #include "tao/LocalObject.h" -#include "ace/Synch_Traits.h" #include "tao/RTScheduling/RTScheduler.h" -#include "../MIF_SchedulingC.h" + #include "ace/Message_Queue.h" #include "ace/Null_Condition.h" #include "ace/Condition_Thread_Mutex.h" +#include "ace/Synch_Traits.h" class DT : public ACE_Message_Block { @@ -74,96 +76,96 @@ public TAO_Local_RefCounted_Object void incr_thr_count (void); virtual void begin_new_scheduling_segment (const RTScheduling::Current::IdType & guid, - const char * name, - CORBA::Policy_ptr sched_param, - CORBA::Policy_ptr implicit_sched_param - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name, + CORBA::Policy_ptr sched_param, + CORBA::Policy_ptr implicit_sched_param + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); + RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); virtual void begin_nested_scheduling_segment (const RTScheduling::Current::IdType & guid, - const char * name, - CORBA::Policy_ptr sched_param, - CORBA::Policy_ptr implicit_sched_param - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name, + CORBA::Policy_ptr sched_param, + CORBA::Policy_ptr implicit_sched_param + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); + RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); virtual void update_scheduling_segment (const RTScheduling::Current::IdType & guid, - const char * name, - CORBA::Policy_ptr sched_param, - CORBA::Policy_ptr implicit_sched_param - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name, + CORBA::Policy_ptr sched_param, + CORBA::Policy_ptr implicit_sched_param + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); + RTScheduling::Current::UNSUPPORTED_SCHEDULING_DISCIPLINE)); virtual void end_scheduling_segment (const RTScheduling::Current::IdType & guid, - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void end_nested_scheduling_segment (const RTScheduling::Current::IdType & guid, - const char * name, - CORBA::Policy_ptr outer_sched_param - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name, + CORBA::Policy_ptr outer_sched_param + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri, - RTScheduling::Current::IdType_out guid, - CORBA::String_out name, - CORBA::Policy_out sched_param, - CORBA::Policy_out implicit_sched_param - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + RTScheduling::Current::IdType_out guid, + CORBA::String_out name, + CORBA::Policy_out sched_param, + CORBA::Policy_out implicit_sched_param + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void send_other (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); + PortableInterceptor::ForwardRequest)); virtual void cancel (const RTScheduling::Current::IdType & guid - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual CORBA::PolicyList * scheduling_policies (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void scheduling_policies (const CORBA::PolicyList & scheduling_policies - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual CORBA::PolicyList * poa_policies (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) @@ -173,14 +175,14 @@ public TAO_Local_RefCounted_Object ACE_THROW_SPEC ((CORBA::SystemException)); virtual RTScheduling::ResourceManager_ptr create_resource_manager (const char * name, - CORBA::Policy_ptr scheduling_parameter - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + CORBA::Policy_ptr scheduling_parameter + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void set_scheduling_parameter (PortableServer::Servant & resource, - const char * name, - CORBA::Policy_ptr scheduling_parameter - ACE_ENV_ARG_DECL_WITH_DEFAULTS) + const char * name, + CORBA::Policy_ptr scheduling_parameter + ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); private: diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc index 64651342a48..b5bcda01605 100644 --- a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc +++ b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc @@ -1,23 +1,21 @@ // -*- MPC -*- // $Id$ -project(*Starter): namingexe, rtscheduling_server { - idlflags += -o .. - after += Synch - libs += Synch +project(*Starter): portableserver, namingexe { + after += RTSchedSynch + libs += RTSchedSynch Source_Files { ../Starter.cpp - ../Synch_i.cpp } exename = Starter } project(*test) : namingexe, rtscheduling_server { - after += *Starter Job - libs += Synch Job - idlflags += -o .. + after += *Starter RTSchedTestLib + libs += RTSchedTestLib Job RTSchedSynch + idlflags += -SS -St -o .. IDL_Files { ../MIF_Scheduling.idl @@ -29,12 +27,10 @@ project(*test) : namingexe, rtscheduling_server { MIF_Task.cpp MIF_Scheduler.cpp ../MIF_SchedulingC.cpp - ../Thread_Task.cpp - ../DT_Creator.cpp - ../Job_i.cpp - ../POA_Holder.cpp - ../Task_Stats.cpp - ../Synch_i.cpp + } + + Header_Files { + mif_dt_creator_export.h } exename = test diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Task.cpp b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Task.cpp index bfb170e19b2..d504fd941f5 100644 --- a/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Task.cpp +++ b/TAO/examples/RTScheduling/MIF_Scheduler/MIF_Task.cpp @@ -1,16 +1,18 @@ //$Id$ + #include "MIF_Task.h" #include "test.h" + #include "ace/OS_NS_errno.h" #include "ace/Countdown_Time.h" MIF_Task::MIF_Task (int importance, - int start_time, - int load, - int iter, - int dist, - char *job_name, - DT_Creator *dt_creator) + int start_time, + int load, + int iter, + int dist, + char *job_name, + DT_Creator *dt_creator) { this->load_ = load; this->iter_ = iter; @@ -45,16 +47,16 @@ MIF_Task::post_activate (void) int MIF_Task::activate_task (RTScheduling::Current_ptr current, - CORBA::Policy_ptr sched_param, - long flags, - ACE_Time_Value* base_time - ACE_ENV_ARG_DECL) + CORBA::Policy_ptr sched_param, + long flags, + ACE_Time_Value* base_time + ACE_ENV_ARG_DECL) { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "Thread_Task::activate %d\n", - importance_)); + "Thread_Task::activate %d\n", + importance_)); char msg [BUFSIZ]; ACE_OS::sprintf (msg, "Thread_Task::activate task\n"); @@ -63,7 +65,7 @@ MIF_Task::activate_task (RTScheduling::Current_ptr current, base_time_ = base_time; current_ = RTScheduling::Current::_narrow (current - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); sched_param_ = CORBA::Policy::_duplicate (sched_param); @@ -71,12 +73,12 @@ MIF_Task::activate_task (RTScheduling::Current_ptr current, pre_activate (); if (this->activate (flags, - 1) == -1) + 1) == -1) { if (ACE_OS::last_error () == EPERM) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Insufficient privilege to run this test.\n")), - -1); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("Insufficient privilege to run this test.\n")), + -1); } post_activate (); @@ -169,8 +171,8 @@ MIF_Task::perform_task (void) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "Thread %d\n", - this->count_)); + "Thread %d\n", + this->count_)); if (dist_) job_->shutdown (); diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp b/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp index 8ef6d268b8d..f290a52e718 100644 --- a/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp +++ b/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp @@ -1,47 +1,48 @@ //$Id$ #include "test.h" -#include "tao/RTScheduling/RTScheduler_Manager.h" -#include "tao/ORB_Core.h" -#include "ace/Arg_Shifter.h" -//#include "MIF_DT_Creator.h" #include "../Thread_Task.h" #include "../Task_Stats.h" #include "../Synch_i.h" +#include "tao/RTScheduling/RTScheduler_Manager.h" +#include "tao/ORB_Core.h" + +#include "ace/Arg_Shifter.h" + DT_Test::DT_Test (void) { } int DT_Test::init (int argc, char *argv [] - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL) { orb_ = CORBA::ORB_init (argc, - argv, - "" - ACE_ENV_ARG_PARAMETER); + argv, + "" + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); dt_creator_->orb (orb_.in ()); CORBA::Object_ptr manager_obj = orb_->resolve_initial_references ("RTSchedulerManager" - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); TAO_RTScheduler_Manager_var manager = TAO_RTScheduler_Manager::_narrow (manager_obj - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); ACE_NEW_RETURN (scheduler_, - MIF_Scheduler (orb_.in ()), -1); + MIF_Scheduler (orb_.in ()), -1); manager->rtscheduler (scheduler_); CORBA::Object_var object = orb_->resolve_initial_references ("RTScheduler_Current" - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (-1); current_ = @@ -53,10 +54,10 @@ DT_Test::init (int argc, char *argv [] void DT_Test::run (int argc, char* argv [] - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL) { init (argc,argv - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; TASK_STATS::instance ()->init (this->dt_creator_->total_load ()); @@ -79,16 +80,16 @@ DT_Test::run (int argc, char* argv [] ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Registered Synch Object\n")); + "Registered Synch Object\n")); dt_creator_->create_distributable_threads (current_.in () - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; orb_->destroy (); ACE_DEBUG ((LM_DEBUG, - "Test Terminating......\n")); + "Test Terminating......\n")); } @@ -116,12 +117,12 @@ long flags; orb_->orb_core ()->orb_params ()->sched_policy (); if (this->activate (flags, - 1) == -1) + 1) == -1) { if (ACE_OS::last_error () == EPERM) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Insufficient privilege to run this test.\n")), - -1); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("Insufficient privilege to run this test.\n")), + -1); } return 0; } @@ -132,7 +133,7 @@ DT_Test::svc (void) ACE_TRY_NEW_ENV { dt_creator_->create_distributable_threads (current_.in () - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; } @@ -161,10 +162,10 @@ main (int argc, char* argv []) { ACE_Service_Config::static_svcs ()->insert (&ace_svc_desc_MIF_DT_Creator); - ACE_DEBUG ((LM_DEBUG, - "%t\n")); + ACE_DEBUG ((LM_DEBUG, + "%t\n")); DT_TEST::instance ()->run (argc, argv - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; } diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/test.h b/TAO/examples/RTScheduling/MIF_Scheduler/test.h index c1a90de91d9..273b9df8813 100644 --- a/TAO/examples/RTScheduling/MIF_Scheduler/test.h +++ b/TAO/examples/RTScheduling/MIF_Scheduler/test.h @@ -1,29 +1,28 @@ //$Id$ #ifndef TEST_H #define TEST_H -#include /**/ "ace/pre.h" - #include "MIF_Scheduler.h" +#include "MIF_DT_Creator.h" + #include "ace/Sched_Params.h" #include "tao/ORB_Core.h" #include "ace/Synch.h" #include "ace/Task.h" -#include "MIF_DT_Creator.h" class Task_Stats; class DT_Test //:public ACE_Task <ACE_SYNCH> { public: - + DT_Test (void); - + int init (int argc, char *argv [] - ACE_ENV_ARG_DECL_WITH_DEFAULTS); + ACE_ENV_ARG_DECL_WITH_DEFAULTS); - void run (int argc, char *argv [] - ACE_ENV_ARG_DECL_WITH_DEFAULTS); + void run (int argc, char *argv [] + ACE_ENV_ARG_DECL_WITH_DEFAULTS); void dt_creator (MIF_DT_Creator* dt_creator); @@ -31,7 +30,7 @@ class DT_Test //:public ACE_Task <ACE_SYNCH> int activate_task (void); - RTScheduling::Current_ptr current (void); + RTScheduling::Current_ptr current (void); /* protected: */ /* /// task svc */ @@ -46,12 +45,11 @@ class DT_Test //:public ACE_Task <ACE_SYNCH> CORBA::ORB_var orb_; int max_priority_; int min_priority_; - RTScheduling::Current_var current_; + RTScheduling::Current_var current_; MIF_DT_Creator* dt_creator_; MIF_Scheduler* scheduler_; }; typedef ACE_Singleton <DT_Test, TAO_SYNCH_MUTEX> DT_TEST; -#include /**/ "ace/post.h" #endif /*TEST_H*/ diff --git a/TAO/examples/RTScheduling/POA_Holder.cpp b/TAO/examples/RTScheduling/POA_Holder.cpp index 3013a8769f7..605979bb28f 100644 --- a/TAO/examples/RTScheduling/POA_Holder.cpp +++ b/TAO/examples/RTScheduling/POA_Holder.cpp @@ -1,8 +1,11 @@ //$Id$ + #include "POA_Holder.h" + +#include "tao/debug.h" + #include "ace/Arg_Shifter.h" #include "ace/Log_Msg.h" -#include "tao/debug.h" POA_Holder::POA_Holder (void) :priority_model_ (RTCORBA::CLIENT_PROPAGATED), @@ -15,7 +18,7 @@ int POA_Holder::init (ACE_Arg_Shifter& arg_shifter) { ACE_DEBUG ((LM_DEBUG, - "Init POA\n")); + "Init POA\n")); const ACE_TCHAR *current_arg = 0; @@ -66,35 +69,35 @@ POA_Holder::init (ACE_Arg_Shifter& arg_shifter) lanes_[l_index].lane_priority, lanes_[l_index].static_threads, lanes_[l_index].dynamic_threads)); l_index++; } - else + else break; } /* while -- lane values */ } /* if -Lanes */ else if (arg_shifter.cur_arg_strncasecmp ("-ThreadPool") == 0) - { - ACE_DEBUG ((LM_DEBUG, - "Thread Pool\n")); - - arg_shifter.consume_arg (); - thread_pool_ = 1; - // read priority - tp_static_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); - arg_shifter.consume_arg (); - - tp_dynamic_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); - arg_shifter.consume_arg (); - - tp_priority_ = ACE_OS::atoi (arg_shifter.get_current ()); - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - "Thread Pool Initialized\n")); - - } + { + ACE_DEBUG ((LM_DEBUG, + "Thread Pool\n")); + + arg_shifter.consume_arg (); + thread_pool_ = 1; + // read priority + tp_static_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); + arg_shifter.consume_arg (); + + tp_dynamic_threads_ = ACE_OS::atoi (arg_shifter.get_current ()); + arg_shifter.consume_arg (); + + tp_priority_ = ACE_OS::atoi (arg_shifter.get_current ()); + arg_shifter.consume_arg (); + ACE_DEBUG ((LM_DEBUG, + "Thread Pool Initialized\n")); + + } else if ((current_arg = arg_shifter.get_the_parameter ("-Bands"))) { - ACE_DEBUG ((LM_DEBUG, - "Initializing Bands\n")); + ACE_DEBUG ((LM_DEBUG, + "Initializing Bands\n")); int bandcount = ACE_OS::atoi (current_arg); bands_.length (bandcount); @@ -124,20 +127,20 @@ POA_Holder::init (ACE_Arg_Shifter& arg_shifter) else break; } /* while -- Band values */ - ACE_DEBUG ((LM_DEBUG, - "Bands Initialized\n")); + ACE_DEBUG ((LM_DEBUG, + "Bands Initialized\n")); } /* if -Bands */ else // something else is showing up ... { - ACE_DEBUG ((LM_DEBUG, - "Finish Init POA\n")); - + ACE_DEBUG ((LM_DEBUG, + "Finish Init POA\n")); + return 0; } } ACE_DEBUG ((LM_DEBUG, - "Finish Init POA\n")); + "Finish Init POA\n")); return 0; } @@ -183,8 +186,8 @@ POA_Holder::activate (RTCORBA::RTORB_ptr rt_orb, PortableServer::POA_ptr parent_ ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Activated Lanes\n")); - + "Activated Lanes\n")); + } if (thread_pool_) @@ -193,7 +196,7 @@ POA_Holder::activate (RTCORBA::RTORB_ptr rt_orb, PortableServer::POA_ptr parent_ CORBA::Boolean allow_request_buffering = 0; CORBA::ULong max_buffered_requests = 0; CORBA::ULong max_request_buffer_size = 0; - + RTCORBA::ThreadpoolId threadpool_id_1 = rt_orb->create_threadpool (stacksize, tp_static_threads_, @@ -207,13 +210,13 @@ POA_Holder::activate (RTCORBA::RTORB_ptr rt_orb, PortableServer::POA_ptr parent_ thread_pool_policy = rt_orb->create_threadpool_policy (threadpool_id_1 - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Activated thread pool\n")); - - + "Activated thread pool\n")); + + } if (bands_.length () != 0) @@ -224,8 +227,8 @@ POA_Holder::activate (RTCORBA::RTORB_ptr rt_orb, PortableServer::POA_ptr parent_ ACE_ENV_ARG_PARAMETER); ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Activated Bands\n")); - + "Activated Bands\n")); + } CORBA::PolicyList poa_policy_list; @@ -233,70 +236,70 @@ POA_Holder::activate (RTCORBA::RTORB_ptr rt_orb, PortableServer::POA_ptr parent_ if (lanes_.length () == 0 && bands_.length () == 0) { if (thread_pool_) - { - poa_policy_list.length (2); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = thread_pool_policy; - } - else - { - poa_policy_list.length (1); - poa_policy_list[0] = priority_model_policy; - } + { + poa_policy_list.length (2); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = thread_pool_policy; + } + else + { + poa_policy_list.length (1); + poa_policy_list[0] = priority_model_policy; + } } else if (lanes_.length () != 0 && bands_.length () == 0) { if (thread_pool_) - { - poa_policy_list.length (3); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = lanes_policy; - poa_policy_list[2] = thread_pool_policy; - } - else - { - poa_policy_list.length (2); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = lanes_policy; - } + { + poa_policy_list.length (3); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = lanes_policy; + poa_policy_list[2] = thread_pool_policy; + } + else + { + poa_policy_list.length (2); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = lanes_policy; + } } else if (lanes_.length () == 0 && bands_.length () != 0) { if (thread_pool_) - { - poa_policy_list.length (3); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = bands_policy; - poa_policy_list[2] = thread_pool_policy; - } + { + poa_policy_list.length (3); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = bands_policy; + poa_policy_list[2] = thread_pool_policy; + } else - { - poa_policy_list.length (2); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = bands_policy; - } + { + poa_policy_list.length (2); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = bands_policy; + } } else { if (thread_pool_) - { - poa_policy_list.length (4); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = lanes_policy; - poa_policy_list[2] = bands_policy; - poa_policy_list[3] = thread_pool_policy; - } + { + poa_policy_list.length (4); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = lanes_policy; + poa_policy_list[2] = bands_policy; + poa_policy_list[3] = thread_pool_policy; + } else - { - poa_policy_list.length (3); - poa_policy_list[0] = priority_model_policy; - poa_policy_list[1] = lanes_policy; - poa_policy_list[2] = bands_policy; - } + { + poa_policy_list.length (3); + poa_policy_list[0] = priority_model_policy; + poa_policy_list[1] = lanes_policy; + poa_policy_list[2] = bands_policy; + } } ACE_DEBUG ((LM_DEBUG, - "Initialized POA Policy\n")); + "Initialized POA Policy\n")); if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "creating POA %s\n", POA_name_.c_str ())); diff --git a/TAO/examples/RTScheduling/POA_Holder.h b/TAO/examples/RTScheduling/POA_Holder.h index 92a15b22ea4..a42d3335894 100644 --- a/TAO/examples/RTScheduling/POA_Holder.h +++ b/TAO/examples/RTScheduling/POA_Holder.h @@ -15,9 +15,11 @@ #ifndef POA_HOLDER_H #define POA_HOLDER_H +#include "rtschedtestlib_export.h" + #include "tao/RTCORBA/RTCORBA.h" #include "tao/PortableServer/PortableServer.h" -//#include "activity_export.h" + #include "ace/SString.h" #include "ace/Arg_Shifter.h" @@ -27,7 +29,7 @@ * @brief An options holder for parameters to creating a poa. * */ -class POA_Holder +class RTSCHEDTESTLIB_Export POA_Holder { public: /// Constructor diff --git a/TAO/examples/RTScheduling/RTSchedTestLib.mpc b/TAO/examples/RTScheduling/RTSchedTestLib.mpc new file mode 100644 index 00000000000..4bf01bd1303 --- /dev/null +++ b/TAO/examples/RTScheduling/RTSchedTestLib.mpc @@ -0,0 +1,32 @@ +// -*- MPC -*- +// $Id$ + +project(RTSchedTestLib): naming, rtscheduling_server { + after += Job + libs += Job RTSchedSynch + dynamicflags += RTSCHEDTESTLIB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Job_i.cpp + DT_Creator.cpp + Thread_Task.cpp + POA_Holder.cpp + Task_Stats.cpp + } + + Header_Files { + DT_Creator.h + Thread_Task.h + POA_Holder.h + Task_Stats.h + Job_i.h + rtschedtestlib_export.h + } + + Inline_Files { + Task_Stats.inl + } +} diff --git a/TAO/examples/RTScheduling/Starter.cpp b/TAO/examples/RTScheduling/Starter.cpp index 3e0b46bca7d..8cd648b1cf3 100644 --- a/TAO/examples/RTScheduling/Starter.cpp +++ b/TAO/examples/RTScheduling/Starter.cpp @@ -1,16 +1,16 @@ //$Id$ #include "Starter.h" -#include "ace/OS_NS_sys_time.h" +#include "ace/OS_NS_sys_time.h" Starter::Starter (CORBA::ORB_ptr orb) { // Initialize the naming service if (this->naming_client_.init (orb) != 0) ACE_ERROR ((LM_ERROR, - " (%P|%t) Unable to initialize " - "the TAO_Naming_Client. \n")); + " (%P|%t) Unable to initialize " + "the TAO_Naming_Client. \n")); } void @@ -46,7 +46,7 @@ Starter::resolve_synch_objs (ACE_ENV_SINGLE_ARG_DECL) CORBA::Object_var object = this->naming_client_->resolve (name - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; this->synch_context_ = @@ -59,14 +59,14 @@ Starter::resolve_synch_objs (ACE_ENV_SINGLE_ARG_DECL) // Get the list of synchs registered for this sender. this->synch_context_->list (chunk, - binding_list, - iterator - ACE_ENV_ARG_PARAMETER); + binding_list, + iterator + ACE_ENV_ARG_PARAMETER); ACE_CHECK; // Add the receivers found in the bindinglist to the <receivers>. this->add_to_synchs (binding_list - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; if (!CORBA::is_nil (iterator.in ())) @@ -82,7 +82,7 @@ Starter::resolve_synch_objs (ACE_ENV_SINGLE_ARG_DECL) ACE_CHECK; this->add_to_synchs (binding_list - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); ACE_CHECK; } } @@ -92,7 +92,7 @@ Starter::resolve_synch_objs (ACE_ENV_SINGLE_ARG_DECL) void Starter::add_to_synchs (CosNaming::BindingList &binding_list - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL) { ACE_Time_Value base_time = ACE_OS::gettimeofday (); for (CORBA::ULong i = 0; @@ -104,8 +104,8 @@ Starter::add_to_synchs (CosNaming::BindingList &binding_list binding_list [i].binding_name [0].id.in (); ACE_DEBUG ((LM_DEBUG, - "Synch Name %s\n", - synch_name.c_str ())); + "Synch Name %s\n", + synch_name.c_str ())); CosNaming::Name name (1); name.length (1); @@ -116,7 +116,7 @@ Starter::add_to_synchs (CosNaming::BindingList &binding_list // context. CORBA::Object_var obj = this->synch_context_->resolve (name - ACE_ENV_ARG_PARAMETER); + ACE_ENV_ARG_PARAMETER); Synch_var synch_obj = Synch::_narrow (obj.in ()); @@ -126,7 +126,7 @@ Starter::add_to_synchs (CosNaming::BindingList &binding_list // // Add this receiver to the receiver map. // this->synchs_.bind (synch_name, -// synch_obj); +// synch_obj); } } @@ -137,9 +137,9 @@ main (int argc, char** argv) ACE_TRY_NEW_ENV { CORBA::ORB_var orb = CORBA::ORB_init (argc, - argv, - "" - ACE_ENV_ARG_PARAMETER); + argv, + "" + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; Starter starter (orb.in ()); diff --git a/TAO/examples/RTScheduling/Starter.h b/TAO/examples/RTScheduling/Starter.h index 7a77efe0117..13c7a0d0c80 100644 --- a/TAO/examples/RTScheduling/Starter.h +++ b/TAO/examples/RTScheduling/Starter.h @@ -2,9 +2,11 @@ #ifndef STARTER_H #define STARTER_H +#include "SynchC.h" + #include "orbsvcs/Naming/Naming_Client.h" #include "orbsvcs/Naming/Naming_Server.h" -#include "SynchC.h" + #include "ace/SString.h" #include "ace/Hash_Map_Manager.h" @@ -19,16 +21,14 @@ class Starter void fire (void); typedef ACE_Hash_Map_Manager <ACE_CString, - Synch_var, - ACE_Null_Mutex> Synchs; - + Synch_var, + ACE_Null_Mutex> Synchs; private: void resolve_synch_objs (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); void add_to_synchs (CosNaming::BindingList &binding_list - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - + ACE_ENV_ARG_DECL_WITH_DEFAULTS); /// A naming context. CosNaming::NamingContext_var synch_context_; diff --git a/TAO/examples/RTScheduling/Synch.mpc b/TAO/examples/RTScheduling/Synch.mpc index 0870542b268..fa1e1c488a9 100644 --- a/TAO/examples/RTScheduling/Synch.mpc +++ b/TAO/examples/RTScheduling/Synch.mpc @@ -1,7 +1,7 @@ // -*- MPC -*- // $Id$ -project(Synch): portableserver { +project(RTSchedSynch): portableserver { idlflags += -St \ -Wb,export_macro=SYNCH_Export \ -Wb,export_include=synch_export.h @@ -14,12 +14,14 @@ project(Synch): portableserver { Source_Files { SynchC.cpp SynchS.cpp + Synch_i.cpp } Header_Files { SynchC.h SynchS.h synch_export.h + Synch_i.h } Inline_Files { diff --git a/TAO/examples/RTScheduling/Synch_i.h b/TAO/examples/RTScheduling/Synch_i.h index 9a262536c97..e0307668200 100644 --- a/TAO/examples/RTScheduling/Synch_i.h +++ b/TAO/examples/RTScheduling/Synch_i.h @@ -5,7 +5,7 @@ #include "SynchS.h" -class Synch_i : public POA_Synch +class SYNCH_Export Synch_i : public POA_Synch { public: diff --git a/TAO/examples/RTScheduling/Task_Stats.h b/TAO/examples/RTScheduling/Task_Stats.h index b32f1041bfc..62f6614cf81 100644 --- a/TAO/examples/RTScheduling/Task_Stats.h +++ b/TAO/examples/RTScheduling/Task_Stats.h @@ -13,18 +13,21 @@ #ifndef TASK_STATS_H #define TASK_STATS_H -#include "ace/OS_NS_time.h" -#include "ace/Singleton.h" +#include "rtschedtestlib_export.h" + #include "tao/orbconf.h" #include "tao/debug.h" +#include "ace/OS_NS_time.h" +#include "ace/Singleton.h" + /** * @class Base_Time * * @brief maintains readings recorded by tasks. * */ -class Base_Time +class RTSCHEDTESTLIB_Export Base_Time { public: Base_Time (void); @@ -39,7 +42,7 @@ typedef ACE_Singleton<Base_Time, TAO_SYNCH_MUTEX> BASE_TIME; * @brief maintains readings recorded by tasks. * */ -class Task_Stats +class RTSCHEDTESTLIB_Export Task_Stats { public: /// Constructor diff --git a/TAO/examples/RTScheduling/Thread_Task.cpp b/TAO/examples/RTScheduling/Thread_Task.cpp index e7c3997f565..ded158b93b0 100644 --- a/TAO/examples/RTScheduling/Thread_Task.cpp +++ b/TAO/examples/RTScheduling/Thread_Task.cpp @@ -1,10 +1,13 @@ //$Id$ #include "Thread_Task.h" -#include "ace/Atomic_Op.h" +#include "DT_Creator.h" #include "Task_Stats.h" + #include "tao/ORB_Core.h" + #include "ace/High_Res_Timer.h" +#include "ace/Atomic_Op.h" Thread_Task::Thread_Task (void) : start_time_ (0), @@ -26,9 +29,11 @@ Thread_Task::svc (void) ACE_TRY_NEW_ENV { if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Thread_Task::svc %d\n", - importance_)); + { + ACE_DEBUG ((LM_DEBUG, + "Thread_Task::svc %d\n", + importance_)); + } const char * name = 0; CORBA::Policy_var implicit_sched_param = CORBA::Policy::_duplicate (sched_param_.in ());; @@ -117,8 +122,8 @@ Thread_Task::dump_stats (void) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "File name %s\n", - fname)); + "File name %s\n", + fname)); char msg [BUFSIZ]; ACE_OS::sprintf (msg, @@ -127,6 +132,6 @@ Thread_Task::dump_stats (void) count_); task_stats_->dump_samples (fname, - msg, - ACE_High_Res_Timer::global_scale_factor ()); + msg, + ACE_High_Res_Timer::global_scale_factor ()); } diff --git a/TAO/examples/RTScheduling/Thread_Task.h b/TAO/examples/RTScheduling/Thread_Task.h index 2ee0486a4e3..0af6dda5a1a 100644 --- a/TAO/examples/RTScheduling/Thread_Task.h +++ b/TAO/examples/RTScheduling/Thread_Task.h @@ -2,33 +2,34 @@ #ifndef THREAD_TASK_H #define THREAD_TASK_H +#include "JobC.h" +#include "rtschedtestlib_export.h" + #include "tao/RTScheduling/RTScheduler.h" -//#include "FP_Scheduler.h" #include "ace/Task.h" -#include "DT_Creator.h" class Task_Stats; class DT_Creator; -class Thread_Task : public ACE_Task <ACE_SYNCH> +class RTSCHEDTESTLIB_Export Thread_Task : public ACE_Task <ACE_SYNCH> { public: /* Thread_Task (int importance, */ -/* int start_time, */ -/* int load, */ -/* DT_Creator *dt_creator); */ +/* int start_time, */ +/* int load, */ +/* DT_Creator *dt_creator); */ Thread_Task (void); virtual int activate_task (RTScheduling::Current_ptr current, - CORBA::Policy_ptr sched_param, - long flags, - ACE_Time_Value* base_time - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; - + CORBA::Policy_ptr sched_param, + long flags, + ACE_Time_Value* base_time + ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; + virtual int perform_task (void); - + int importance (void); int start_time (void); @@ -36,7 +37,7 @@ class Thread_Task : public ACE_Task <ACE_SYNCH> /// = Job get/set /// Returns the name of the Job exec'ed by this Task. const char* job (void); - + /// Sets the Job to exec. void job (Job_ptr job); diff --git a/TAO/examples/RTScheduling/rtschedtestlib_export.h b/TAO/examples/RTScheduling/rtschedtestlib_export.h new file mode 100644 index 00000000000..f0af7a1a282 --- /dev/null +++ b/TAO/examples/RTScheduling/rtschedtestlib_export.h @@ -0,0 +1,58 @@ + +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl SYNCH +// ------------------------------ +#ifndef RTSCHEDTESTLIB_EXPORT_H +#define RTSCHEDTESTLIB_EXPORT_H + +#include "ace/config-all.h" + +#if defined (ACE_AS_STATIC_LIBS) && !defined (RTSCHEDTESTLIB_HAS_DLL) +# define RTSCHEDTESTLIB_HAS_DLL 0 +#endif /* ACE_AS_STATIC_LIBS && RTSCHEDTESTLIB_HAS_DLL */ + +#if !defined (RTSCHEDTESTLIB_HAS_DLL) +# define RTSCHEDTESTLIB_HAS_DLL 1 +#endif /* ! RTSCHEDTESTLIB_HAS_DLL */ + +#if defined (RTSCHEDTESTLIB_HAS_DLL) && (RTSCHEDTESTLIB_HAS_DLL == 1) +# if defined (RTSCHEDTESTLIB_BUILD_DLL) +# define RTSCHEDTESTLIB_Export ACE_Proper_Export_Flag +# define RTSCHEDTESTLIB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define RTSCHEDTESTLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* RTSCHEDTESTLIB_BUILD_DLL */ +# define RTSCHEDTESTLIB_Export ACE_Proper_Import_Flag +# define RTSCHEDTESTLIB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define RTSCHEDTESTLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* RTSCHEDTESTLIB_BUILD_DLL */ +#else /* RTSCHEDTESTLIB_HAS_DLL == 1 */ +# define RTSCHEDTESTLIB_Export +# define RTSCHEDTESTLIB_SINGLETON_DECLARATION(T) +# define RTSCHEDTESTLIB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* RTSCHEDTESTLIB_HAS_DLL == 1 */ + +// Set RTSCHEDTESTLIB_NTRACE = 0 to turn on library specific tracing even if +// tracing is turned off for ACE. +#if !defined (RTSCHEDTESTLIB_NTRACE) +# if (ACE_NTRACE == 1) +# define RTSCHEDTESTLIB_NTRACE 1 +# else /* (ACE_NTRACE == 1) */ +# define RTSCHEDTESTLIB_NTRACE 0 +# endif /* (ACE_NTRACE == 1) */ +#endif /* !RTSCHEDTESTLIB_NTRACE */ + +#if (RTSCHEDTESTLIB_NTRACE == 1) +# define RTSCHEDTESTLIB_TRACE(X) +#else /* (RTSCHEDTESTLIB_NTRACE == 1) */ +# if !defined (ACE_HAS_TRACE) +# define ACE_HAS_TRACE +# endif /* ACE_HAS_TRACE */ +# define RTSCHEDTESTLIB_TRACE(X) ACE_TRACE_IMPL(X) +# include "ace/Trace.h" +#endif /* (RTSCHEDTESTLIB_NTRACE == 1) */ + +#endif /* RTSCHEDTESTLIB_EXPORT_H */ + +// End of auto generated file. |