summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp')
-rw-r--r--CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp171
1 files changed, 0 insertions, 171 deletions
diff --git a/CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp b/CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp
deleted file mode 100644
index 86e56f99cb3..00000000000
--- a/CIAO/DAnCE/RTNodeApplication/RTNodeApplication.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-// $Id$
-
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-#include "NodeApplication_Task.h"
-#include "ciao/Server_init.h"
-
-int
-parse_args (int argc,
- char *argv[],
- CIAO::NodeApplication_Task::Options &opts)
-{
- ACE_Get_Opt get_opts (argc, argv, "nk:o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'n':
- opts.use_callback_ = 0;
- break;
-
- case 'o': // get the file name to write to
- opts.ior_output_filename_ = get_opts.opt_arg ();
- break;
-
- case 'k': // get the activator callback IOR
- opts.callback_ior_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-n Don't not try to callback NodeApplicationManager (testing)\n"
- "-o <ior_output_file>\n"
- "-k <activator_callback_ior>\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (opts.use_callback_ && opts.callback_ior_.length () == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "Callback IOR to NodeApplicationManager is required.\n"),
- -1);
-
- return 0;
-}
-
-const char *
-sched_policy_name (int sched_policy)
-{
- const char *name = 0;
-
- switch (sched_policy)
- {
- case ACE_SCHED_OTHER:
- name = "SCHED_OTHER";
- break;
- case ACE_SCHED_RR:
- name = "SCHED_RR";
- break;
- case ACE_SCHED_FIFO:
- name = "SCHED_FIFO";
- break;
- }
-
- return name;
-}
-
-/// The following check is taken from $(TAO_ROOT)/tests/RTCORBA/
-void
-check_supported_priorities (CORBA::ORB_ptr orb)
-{
- int sched_policy =
- orb->orb_core ()->orb_params ()->ace_sched_policy ();
-
- // Check that we have sufficient priority range to run,
- // i.e., more than 1 priority level.
- int max_priority =
- ACE_Sched_Params::priority_max (sched_policy);
- int min_priority =
- ACE_Sched_Params::priority_min (sched_policy);
-
- if (max_priority == min_priority)
- {
- ACE_DEBUG ((LM_DEBUG,
- "Not enough priority levels with the %s scheduling policy\n"
- "on this platform to run, terminating program....\n"
- "Check svc.conf options\n",
- sched_policy_name (sched_policy)));
-
- ACE_OS::exit (2);
- }
-}
-
-
-int
-main (int argc, char **argv)
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc,
- argv,
- ""
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Register value factories for the server side.
- CIAO::Server_init (orb.in ());
-
- CIAO::NodeApplication_Task::Options options;
-
- int result =
- parse_args (argc, argv, options);
-
- if (result != 0)
- return result;
-
- // Make sure we can support multiple priorities that are required
- // for this test.
- // check_supported_priorities (orb.in());
-
- // Thread Manager for managing task.
- ACE_Thread_Manager thread_manager;
-
- // Create task.
- CIAO::NodeApplication_Task cs_task (thread_manager,
- orb.in (),
- options);
-
- // Task activation flags.
- long flags =
- THR_NEW_LWP |
- THR_JOINABLE |
- orb->orb_core ()->orb_params ()->thread_creation_flags ();
-
- // Activate task.
- result =
- cs_task.activate (flags);
- if (result == -1)
- {
- if (errno == EPERM)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot create thread with scheduling policy %s\n"
- "because the user does not have the appropriate privileges, terminating program....\n"
- "Check svc.conf options and/or run as root\n",
- sched_policy_name (orb->orb_core ()->orb_params ()->ace_sched_policy ())),
- 2);
- }
- else
- // Unexpected error.
- ACE_ASSERT (0);
- }
-
- // Wait for task to exit.
- result =
- thread_manager.wait ();
- ACE_ASSERT (result != -1);
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught");
- return -1;
- }
- ACE_ENDTRY;
-
- return 0;
-}