summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-11-14 16:17:49 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-11-14 16:17:49 +0000
commit6b7e1ab825533aa6f5b86d9882e94644dda34cbc (patch)
tree87a1769a8bb6089cc7014681464bce1865c7fd80
parent65db6135aaa21bbd13f7917ff97d570f06576389 (diff)
downloadATCD-6b7e1ab825533aa6f5b86d9882e94644dda34cbc.tar.gz
ChangeLogTag: ue Nov 14 16:17:04 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/examples/RTScheduling/DT_Creator.cpp373
-rw-r--r--TAO/examples/RTScheduling/DT_Creator.h45
-rw-r--r--TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.cpp38
-rw-r--r--TAO/examples/RTScheduling/Fixed_Priority_Scheduler/FP_DT_Creator.h14
-rw-r--r--TAO/examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc22
-rw-r--r--TAO/examples/RTScheduling/Job.mpc2
-rw-r--r--TAO/examples/RTScheduling/Job_i.cpp52
-rw-r--r--TAO/examples/RTScheduling/Job_i.h10
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.h100
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc24
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/MIF_Task.cpp40
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/test.cpp51
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/test.h20
-rw-r--r--TAO/examples/RTScheduling/POA_Holder.cpp175
-rw-r--r--TAO/examples/RTScheduling/POA_Holder.h6
-rw-r--r--TAO/examples/RTScheduling/RTSchedTestLib.mpc32
-rw-r--r--TAO/examples/RTScheduling/Starter.cpp34
-rw-r--r--TAO/examples/RTScheduling/Starter.h12
-rw-r--r--TAO/examples/RTScheduling/Synch.mpc4
-rw-r--r--TAO/examples/RTScheduling/Synch_i.h2
-rw-r--r--TAO/examples/RTScheduling/Task_Stats.h11
-rw-r--r--TAO/examples/RTScheduling/Thread_Task.cpp21
-rw-r--r--TAO/examples/RTScheduling/Thread_Task.h27
-rw-r--r--TAO/examples/RTScheduling/rtschedtestlib_export.h58
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.