int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references ("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); // Policies for the childPOA to be created. CORBA::PolicyList policies (1); policies.length (1); CORBA::Any pol; pol <<= BiDirPolicy::BOTH; policies[0] = orb->create_policy (BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE, pol); // Create POA as child of RootPOA with the above policies. This POA // will receive request in the same connection in which it sent // the request PortableServer::POA_var child_poa = root_poa->create_POA ("childPOA", poa_manager.in (), policies); // Creation of childPOA is over. Destroy the Policy objects. for (CORBA::ULong i = 0; i < policies.length (); ++i) { policies[i]->destroy (); } poa_manager->activate (); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%C> is nil\n", ior), 1); } Callback_i callback_impl (orb.in ()); PortableServer::ObjectId_var id = PortableServer::string_to_ObjectId ("client_callback"); child_poa->activate_object_with_id (id.in (), &callback_impl); CORBA::Object_var callback_object = child_poa->id_to_reference (id.in ()); Callback_var callback = Callback::_narrow (callback_object.in ()); CORBA::String_var ior = orb->object_to_string (callback.in ()); ACE_DEBUG ((LM_DEBUG, "(%P|%t) Client callback activated as <%C>\n", ior.in ())); // Send the calback object to the server server->callback_object (callback.in ()); int pre_call_connections = orb->orb_core ()->lane_resources ().transport_cache ().current_size (); // A method to kickstart callbacks from the server CORBA::Long r = server->test_method (1); if (r != 0) { ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d ", r)); } orb->run (); int cur_connections = orb->orb_core ()->lane_resources ().transport_cache ().current_size (); if (cur_connections > pre_call_connections) { ACE_ERROR ((LM_ERROR, "(%P|%t) Expected %d " "connections in the transport cache, but found " "%d instead. Aborting.\n", pre_call_connections, cur_connections)); ACE_OS::abort (); } root_poa->destroy (1, 1); } catch (CORBA::Exception &excep) { excep._tao_print_exception ("Caught exception:"); return 1; } return 0; }
void Worker::run_test (void) { CORBA::Object_var object = this->orb_->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR ((LM_ERROR, "Object reference <%s> is nil.\n", ior)); return; } CORBA::Boolean r = server->test_is_a ("IDL:Foo:1.0"); if (r != 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d\n", r)); }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { // Initialize the ORB CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; // Get Object Reference using IOR file CORBA::Object_var object = orb->string_to_object (ior); // Cast to Appropriate Type Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil\n", ior), 1); } Client_Worker client (server.in (), niterations); if (client.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Cannot Activate Client Threads\n"), 1); client.thr_mgr ()->wait (); ACE_DEBUG ((LM_DEBUG, "(%P|%t) threads finished\n")); // Shut down the server if -x option given in command line if (do_shutdown) { server->shutdown (); } // Destroying the ORB.. orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; // Primary server CORBA::Object_var object_primary = orb->string_to_object (ior); //Secondary server CORBA::Object_var object_secondary = orb->string_to_object (name); // Get an object reference for the ORBs IORManipultion object! CORBA::Object_ptr IORM = orb->resolve_initial_references (TAO_OBJID_IORMANIPULATION, 0); TAO_IOP::TAO_IOR_Manipulation_ptr iorm = TAO_IOP::TAO_IOR_Manipulation::_narrow (IORM); TAO_IOP::TAO_IOR_Manipulation::IORList iors (2); iors.length(2); iors [0] = object_primary; iors [1] = object_secondary; CORBA::Object_var merged = iorm->merge_iors (iors); // Combined IOR stuff Simple_Server_var server = Simple_Server::_narrow (merged.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } run_test (server.in ()); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught an exception\n"); return -1; } return 0; }
int SelfClient::svc (void) { try { this->validate_connection (); for (int i = 0; i < this->niterations_; ++i) { try { CORBA::Object_var probably_not_exist = orb_->string_to_object (corbaloc_arg); if (CORBA::is_nil (probably_not_exist.in())) { ACE_DEBUG ((LM_DEBUG, "not found\n", corbaloc_arg)); } else { Simple_Server_var newserver = Simple_Server::_narrow (probably_not_exist.in ()); // should throw an exception if (CORBA::is_nil (newserver.in())) { ACE_DEBUG ((LM_DEBUG, "(%P|%t) Not found it\n")); } else { ACE_DEBUG ((LM_DEBUG, "(%P|%t) Found it\n")); } } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("MT_SelfClient: exception raised"); } // Just make a call this->server_->test_method (i); } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("MT_SelfClient: exception raised"); } return 0; }
int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } CORBA::Boolean non_existent = server->_non_existent (); if (non_existent) result = 3; else result = 2; ACE_DEBUG ((LM_DEBUG, "client (%P) _non_existent() returned %d\n", static_cast<int>(non_existent) )); orb->destroy (); } catch (const CORBA::OBJECT_NOT_EXIST& ex) { ex._tao_print_exception ("ERROR: Exception caught:"); result = 4; } catch (const CORBA::TRANSIENT&) { result = 5; } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("ERROR: Exception caught:"); result = 6; } return result; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } for (int i = 0; i != niterations; ++i) { CORBA::Long r = server->test_method (i); if (r != i) { ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d for %d", r, i)); } } if (do_shutdown) { server->shutdown (); } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } Client client (server.in (), niterations); if (client.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot activate client threads\n"), 1); client.thr_mgr ()->wait (); ACE_DEBUG ((LM_DEBUG, "threads finished\n")); if (server_shutdown) { server->shutdown (); } orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } return 0; }
//int testClient (char* orbName, char* ior) int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "ORB_Test_Client"); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } CORBA::String_var string = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Client: orb->object_to_string: <%C>\n", string.in ())); Client client (server.in (), niter); client.svc (); //ACE_DEBUG ((LM_DEBUG, "threads finished\n")); orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } return 0; }
int svc () { CORBA::String_var str = CORBA::string_alloc (200*2000 + 1); if (str.in () == 0) return 1; str.inout ()[0] = CORBA::Char ('\0'); for (int i=0; i < 2000; ++i) { ACE_OS::strcat (str.inout (), twohundredbytes); } while (1) { try { CORBA::String_var ret = srv_->test_method (str.in ()); if (0 != ACE_OS::strcmp (str.in (), ret.in ())) return 1; } catch (const CORBA::Exception& ex) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("(%P|%t) Exception caught: \n%C\n"), ex._info ().c_str ())); return 1; } } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil\n", ior), 1); } while (!feof (stdin)) { ACE_Read_Buffer buf (stdin, 0); char *line = buf.read ('\n'); if (line == 0) break; server->send_line (line); buf.alloc ()->free (line); } server->shutdown (); orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } return 0; }
int Worker::svc (void) { const char * name = 0; /* ACE_DEBUG ((LM_DEBUG, "(%t|%T):about to sleep for %d sec\n", sleep_time_)); ACE_OS::sleep (sleep_time_); ACE_DEBUG ((LM_DEBUG, "(%t|%T):woke up from sleep for %d sec\n", sleep_time_)); */ ACE_hthread_t thr_handle; ACE_Thread::self (thr_handle); int prio; if (ACE_Thread::getprio (thr_handle, prio) == -1) { if (errno == ENOTSUP) { ACE_ERROR((LM_ERROR, ACE_TEXT ("getprio not supported\n") )); } else { ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n") ACE_TEXT ("thr_getprio failed"))); } } ACE_DEBUG ((LM_DEBUG, "(%t|%T) worker activated with prio %d\n", prio)); if (enable_dynamic_scheduling) { MIF_Scheduling::SchedulingParameter sched_param; CORBA::Policy_var sched_param_policy; sched_param.importance = importance_; sched_param_policy = scheduler_->create_scheduling_parameter (sched_param); CORBA::Policy_ptr implicit_sched_param = 0; ACE_DEBUG ((LM_DEBUG, "(%t|%T):before begin_sched_segment\n")); scheduler_current_->begin_scheduling_segment (name, sched_param_policy.in (), implicit_sched_param); ACE_DEBUG ((LM_DEBUG, "(%t|%T):after begin_sched_segment\n")); } ACE_DEBUG ((LM_DEBUG, "(%t|%T):about to make two way call\n")); server_->test_method (server_load_); ACE_DEBUG ((LM_DEBUG, "(%t|%T):two way call done\n")); if (enable_dynamic_scheduling) { scheduler_current_->end_scheduling_segment (name); } ACE_DEBUG ((LM_DEBUG, "client worker thread (%t) done\n")); return 0; }
void Client_i::init (void) { // Open the file for reading. ACE_HANDLE f_handle = ACE_OS::open (ior_output_file, 0); if (f_handle == ACE_INVALID_HANDLE) ACE_ERROR ((LM_ERROR, "Unable to open %s for writing: %p\n", ior_output_file)); ACE_Read_Buffer ior_buffer (f_handle); char *data = ior_buffer.read (); if (data == 0) ACE_ERROR ((LM_ERROR, "Unable to read ior: %p\n")); int argc = 0; ACE_TCHAR **argv = 0; this->orb_ = CORBA::ORB_init (argc, argv); CORBA::Object_var object = this->orb_->string_to_object (data); // Combined IOR stuff Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR ((LM_ERROR, "Object reference <%C> is nil\n", data)); } run_test (server.in ()); ior_buffer.alloc ()->free (data); ACE_OS::close (f_handle); }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } if (do_shutdown) { server->shutdown (); } else { Worker wrk (server.in ()); wrk.activate (THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, nthreads); wrk.thr_mgr ()->wait (); } } catch (const CORBA::Exception& ex) { ACE_DEBUG ((LM_ERROR, ACE_TEXT ("(%P|%t) ERROR: Exception caught: \n%C\n"), ex._info ().c_str ())); return 1; } return 0; }
int Client::svc (void) { try { for (int i = 0; i < this->niterations_; ++i) { // If we are using a global ORB this is a nop, otherwise it // initializes the ORB resources for this thread. int argc = 0; CORBA::String_var argv0 = CORBA::string_dup ("dummy_argv"); char* argv[1] = { argv0.inout () }; CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var object = orb->string_to_object (this->ior_); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Object reference <%s> is nil\n", ior), 1); } server->test_method (); if (TAO_debug_level > 0 && i % 100 == 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) iteration = %d\n", i)); } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("MT_Client: exception raised"); } return 0; }
int do_shutdown_test (Simple_Server_var &server) { ACE_DEBUG ((LM_DEBUG, "[client] invoking shutdown on the server \n ")); try { server->shutdown (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Client: exception caught during shutdown - "); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { Fixed_Priority_Scheduler* scheduler=0; RTScheduling::Current_var current; long flags; int sched_policy = ACE_SCHED_RR; int sched_scope = ACE_SCOPE_THREAD; if (sched_policy == ACE_SCHED_RR) flags = THR_NEW_LWP | THR_BOUND | THR_JOINABLE | THR_SCHED_RR; else flags = THR_NEW_LWP | THR_BOUND | THR_JOINABLE | THR_SCHED_FIFO; task_stats.init (100000); try { RTScheduling::Scheduler_var sched_owner; CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); if (parse_args (argc, argv) != 0) return 1; if (enable_dynamic_scheduling) { CORBA::Object_var manager_obj = orb->resolve_initial_references ("RTSchedulerManager"); TAO_RTScheduler_Manager_var manager = TAO_RTScheduler_Manager::_narrow (manager_obj.in ()); Kokyu::DSRT_Dispatcher_Impl_t disp_impl_type; if (enable_yield) { disp_impl_type = Kokyu::DSRT_CV_BASED; } else { disp_impl_type = Kokyu::DSRT_OS_BASED; } ACE_NEW_RETURN (scheduler, Fixed_Priority_Scheduler (orb.in (), disp_impl_type, sched_policy, sched_scope), -1); sched_owner = scheduler; manager->rtscheduler (scheduler); CORBA::Object_var object = orb->resolve_initial_references ("RTScheduler_Current"); current = RTScheduling::Current::_narrow (object.in ()); } Simple_Server_i server_impl (orb.in (), current.in (), task_stats, enable_yield); Simple_Server_var server = server_impl._this (); CORBA::String_var ior = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); // If the ior_output_file exists, output the ior to it if (ior_output_file != 0) { FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", ior_output_file), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } poa_manager->activate (); Worker worker (orb.in ()); if (worker.activate (flags, nthreads, 0, ACE_Sched_Params::priority_max(sched_policy, sched_scope)) != 0) { ACE_ERROR ((LM_ERROR, "Cannot activate threads in RT class.", "Trying to activate in non-RT class\n")); flags = THR_NEW_LWP | THR_JOINABLE | THR_BOUND; if (worker.activate (flags, nthreads) != 0) { ACE_ERROR_RETURN ((LM_ERROR, "Cannot activate server threads\n"), 1); } } worker.wait (); ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); ACE_DEBUG ((LM_DEBUG, "shutting down scheduler\n")); scheduler->shutdown (); orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } ACE_DEBUG ((LM_DEBUG, "Exiting main...\n")); task_stats.dump_samples (ACE_TEXT("timeline.txt"), ACE_TEXT("Time\t\tGUID")); return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { Fixed_Priority_Scheduler* scheduler=0; RTScheduling::Current_var current; int prio; int max_prio; ACE_Sched_Params::Policy sched_policy = ACE_SCHED_RR; int sched_scope = ACE_SCOPE_THREAD; long flags; if (sched_policy == ACE_SCHED_RR) flags = THR_NEW_LWP | THR_BOUND | THR_JOINABLE | THR_SCHED_RR; else flags = THR_NEW_LWP | THR_BOUND | THR_JOINABLE | THR_SCHED_FIFO; ACE_hthread_t main_thr_handle; ACE_Thread::self (main_thr_handle); max_prio = ACE_Sched_Params::priority_max (sched_policy, sched_scope); //FUZZ: disable check_for_lack_ACE_OS ACE_Sched_Params sched_params (sched_policy, max_prio); //FUZZ: enable check_for_lack_ACE_OS ACE_OS::sched_params (sched_params); if (ACE_Thread::getprio (main_thr_handle, prio) == -1) { if (errno == ENOTSUP) { ACE_ERROR((LM_ERROR, ACE_TEXT ("getprio not supported\n") )); } else { ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n") ACE_TEXT ("thr_getprio failed"))); } } ACE_DEBUG ((LM_DEBUG, "(%t): main thread prio is %d\n", prio)); try { RTScheduling::Scheduler_var sched_owner; CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } if (enable_dynamic_scheduling) { ACE_DEBUG ((LM_DEBUG, "Dyn Sched enabled\n")); CORBA::Object_var manager_obj = orb->resolve_initial_references ("RTSchedulerManager"); TAO_RTScheduler_Manager_var manager = TAO_RTScheduler_Manager::_narrow (manager_obj.in ()); Kokyu::DSRT_Dispatcher_Impl_t disp_impl_type; if (enable_yield) { disp_impl_type = Kokyu::DSRT_CV_BASED; } else { disp_impl_type = Kokyu::DSRT_OS_BASED; } ACE_NEW_RETURN (scheduler, Fixed_Priority_Scheduler (orb.in (), disp_impl_type, sched_policy, sched_scope), -1); sched_owner = scheduler; manager->rtscheduler (scheduler); CORBA::Object_var object = orb->resolve_initial_references ("RTScheduler_Current"); current = RTScheduling::Current::_narrow (object.in ()); } Worker worker1 (orb.in (), server.in (), current.in (), scheduler, 10, 15); if (worker1.activate (flags, 1, 0, max_prio) != 0) { ACE_ERROR ((LM_ERROR, "(%t|%T) cannot activate worker thread.\n")); } ACE_OS::sleep(2); Worker worker2 (orb.in (), server.in (), current.in (), scheduler, 12, 5); if (worker2.activate (flags, 1, 0, max_prio) != 0) { ACE_ERROR ((LM_ERROR, "(%t|%T) cannot activate scheduler thread in RT mode.\n")); } worker1.wait (); worker2.wait (); ACE_DEBUG ((LM_DEBUG, "(%t): wait for worker threads done in main thread\n")); if (do_shutdown) { if (enable_dynamic_scheduling) { FP_Scheduling::SegmentSchedulingParameter sched_param; sched_param.base_priority = 0; CORBA::Policy_var sched_param_policy = scheduler->create_segment_scheduling_parameter (sched_param); CORBA::Policy_ptr implicit_sched_param = 0; current->begin_scheduling_segment (0, sched_param_policy.in (), implicit_sched_param); } ACE_DEBUG ((LM_DEBUG, "(%t): about to call server shutdown\n")); server->shutdown (); ACE_DEBUG ((LM_DEBUG, "after shutdown call in main thread\n")); if (enable_dynamic_scheduling) { current->end_scheduling_segment (0); } } scheduler->shutdown (); ACE_DEBUG ((LM_DEBUG, "scheduler shutdown done\n")); orb->destroy (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { CORBA::ORB_var orb = CORBA::ORB::_nil(); PortableServer::POA_var root_poa = PortableServer::POA::_nil(); Callback_i *servant = 0; try { orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references ("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); // Policies for the childPOA to be created. CORBA::PolicyList policies (1); policies.length (1); CORBA::Any pol; pol <<= BiDirPolicy::BOTH; policies[0] = orb->create_policy (BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE, pol); // Create POA as child of RootPOA with the above policies. This POA // will receive request in the same connection in which it sent // the request PortableServer::POA_var child_poa = root_poa->create_POA ("childPOA", poa_manager.in (), policies); // Creation of childPOA is over. Destroy the Policy objects. for (CORBA::ULong i = 0; i < policies.length (); ++i) { policies[i]->destroy (); } poa_manager->activate (); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil\n", ior), 1); } servant = new Callback_i (orb.in ()); Callback_var callback = servant->_this (); // Send the calback object to the server server->callback_object (callback.in ()); // A method to kickstart callbacks from the server CORBA::Long r = server->test_method (1); if (r != 0) { ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d ", r)); } orb->run (); root_poa->destroy (1, 1); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } if (!CORBA::is_nil(root_poa.in())) root_poa->destroy (1,1); delete servant; return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; // Primary server CORBA::Object_var object_primary = orb->string_to_object (ior); //Secondary server CORBA::Object_var object_secondary = orb->string_to_object (name); // Get an object reference for the ORBs IORManipultion object! CORBA::Object_var IORM = orb->resolve_initial_references (TAO_OBJID_IORMANIPULATION, 0); TAO_IOP::TAO_IOR_Manipulation_var iorm = TAO_IOP::TAO_IOR_Manipulation::_narrow (IORM.in ()); TAO_IOP::TAO_IOR_Manipulation::IORList iors (2); iors.length(2); iors [0] = object_primary; iors [1] = object_secondary; CORBA::Object_var merged = iorm->merge_iors (iors); CORBA::Object_var object = orb->resolve_initial_references ("PolicyCurrent"); CORBA::PolicyCurrent_var policy_current = CORBA::PolicyCurrent::_narrow (object.in ()); CORBA::Any timeout_as_any; timeout_as_any <<= timeout_period; CORBA::PolicyList policy_list (1); policy_list.length (1); policy_list[0] = orb->create_policy (TAO::CONNECTION_TIMEOUT_POLICY_TYPE, timeout_as_any); policy_current->set_policy_overrides (policy_list, CORBA::ADD_OVERRIDE); for (CORBA::ULong l = 0; l != policy_list.length (); ++l) { policy_list[l]->destroy (); } // Combined IOR stuff Simple_Server_var server = Simple_Server::_narrow (merged.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } CORBA::ULongLong freq = run_test (server.in ()); if (freq != 919263) ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%P|%t) ERROR in the test\n"))); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Shutting server down\n"))); server->shutdown (); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught an exception\n"); return -1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references ("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); if (parse_args (argc, argv) != 0) return 1; Simple_Server_i *server_impl = 0; ACE_NEW_RETURN (server_impl, Simple_Server_i (orb.in ()), -1); PortableServer::ServantBase_var owner_transfer(server_impl); PortableServer::ObjectId_var id = root_poa->activate_object (server_impl); CORBA::Object_var object = root_poa->id_to_reference (id.in ()); Simple_Server_var server = Simple_Server::_narrow (object.in ()); CORBA::String_var ior = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); // If the ior_output_file exists, output the ior to it if (ior_output_file != 0) { FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Cannot open output file for writing IOR: %s", ior_output_file), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } poa_manager->activate (); Worker worker (orb.in ()); if (worker.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Cannot activate client threads\n"), 1); SelfClient selfabuse (orb.in(), server.in(), niterations); if (selfabuse.activate (THR_NEW_LWP | THR_JOINABLE, nclient_threads) != 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Cannot activate abusive threads\n"), 1); selfabuse.thr_mgr()->wait(); worker.thr_mgr ()->wait (); ACE_DEBUG ((LM_DEBUG, "(%P|%t) event loop finished\n")); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references ("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); // Get the POAManager of the RootPOA. PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); poa_manager->activate (); if (parse_args (argc, argv) != 0) return 1; Simple_Server_i server_impl (orb.in ()); PortableServer::ObjectId_var id = root_poa->activate_object (&server_impl); CORBA::Object_var object = root_poa->id_to_reference (id.in ()); Simple_Server_var server = Simple_Server::_narrow (object.in ()); CORBA::String_var ior = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); // If the ior_output_file exists, output the ior to it if (ior_output_file != 0) { FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", ior_output_file), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } // RUn the event loop if needed if (orb_run) { orb->run (); } ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); root_poa->destroy (1, 1); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; Worker worker (orb.in ()); if (worker.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Cannot activate worker threads\n"), 1); int timeout = 30; int now = 0; while (now < timeout && ((expect_ex_kind != TAO::FOE_NON && worker.received_ex_kind () != expect_ex_kind && worker.num_received_ex () != expect_num_ex) || expect_ex_kind == TAO::FOE_NON)) { std::cout << "."; now += 1; ACE_Time_Value tv (1, 0); orb->run (tv); } std::cout << std::endl; worker.done (); if (do_shutdown) { CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); server->shutdown (); } ACE_OS::sleep (1); orb->destroy (); worker.thr_mgr ()->wait (); if (worker.received_ex_kind () != expect_ex_kind || worker.num_received_ex () != expect_num_ex) { ACE_ERROR_RETURN ((LM_ERROR, ("(%P|%t)client: test failed - expected is different from received. " "expected %d/%d received %d/%d.\n"), expect_ex_kind, expect_num_ex, worker.received_ex_kind (), worker.num_received_ex()), 1); } ACE_DEBUG ((LM_DEBUG, "(%P|%t)client: test passed.\n")); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught in main:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA"); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); if (CORBA::is_nil (root_poa.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); if (parse_args (argc, argv) != 0) return 1; Simple_Server_i server_impl (orb.in ()); PortableServer::ObjectId_var id = root_poa->activate_object (&server_impl); CORBA::Object_var object = root_poa->id_to_reference (id.in ()); Simple_Server_var server = Simple_Server::_narrow (object.in ()); CORBA::String_var ior = orb->object_to_string (server.in ()); CORBA::Object_var table_object = orb->resolve_initial_references("IORTable"); IORTable::Table_var table = IORTable::Table::_narrow (table_object.in ()); if (CORBA::is_nil (table.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the IORTable.\n"), 1); table->bind ("Simple_Server", ior.in ()); //ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", ior_output_file), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); poa_manager->activate (); orb->run (); ACE_DEBUG ((LM_DEBUG, "(%P|%t)server: event loop finished\n")); // If expect_servant_calls is 0, it means it's the request forward looping case so the // servant continue receiving calls from a single request. We can not determine how many // servant calls but it should be more than the number of requests. if ((expect_servant_calls == 0 && (server_impl.ncalls () > num_requests)) || (expect_servant_calls > 0 && (server_impl.ncalls () == expect_servant_calls))) { return 0; } else ACE_ERROR_RETURN ((LM_ERROR, "server: Test failed - expected %d servant calls but got %d calls \n", expect_servant_calls, server_impl.ncalls ()), 1); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught:"); return 1; } return 0; }
int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { try { Manager manager; // Initilaize the ORB, POA etc. manager.init (argc, argv); if (parse_args (argc, argv) == -1) return -1; manager.activate_servant (); CORBA::ORB_var orb = manager.orb (); CORBA::Object_var server_ref = manager.server (); CORBA::String_var ior = orb->object_to_string (server_ref.in ()); FILE *output_file = 0; if (proxy_ior != 0) { ACE_DEBUG ((LM_DEBUG, "Writing the servant locator object ref out to file %s\n", proxy_ior)); output_file = ACE_OS::fopen (proxy_ior, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", proxy_ior), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } // this is only to shutdown the manager afterwards Simple_Server_i server_impl (orb.in ()); Simple_Server_var server = server_impl._this (); ior = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); // If the proxy_ior exists, output the ior to it if (control_ior != 0) { ACE_DEBUG ((LM_DEBUG, "Writing the root poa servant server IOR out to file %s\n", control_ior)); output_file = ACE_OS::fopen (control_ior, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", control_ior), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } manager.run (); } catch (const CORBA::Exception & ex) { ex._tao_print_exception ("Exception caught in manager:"); return -1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; Worker worker (orb.in ()); if (worker.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Cannot activate worker threads\n"), 1); int timeout = 30; int now = 0; while (now < timeout && ((expect_ex_kind == 0 && !worker.invocation_completed ()) || (expect_ex_kind != 0 && expect_ex_kind != worker.received_ex_kind ())) ) { std::cout << "." << std::flush; now += 1; ACE_Time_Value tv (1, 0); orb->run (tv); } ACE_ASSERT (now != 0); std::cout << std::endl; worker.done (); CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); server->shutdown (); ACE_OS::sleep (1); orb->destroy (); worker.thr_mgr ()->wait (); bool expect_no_ex = expect_ex_kind == TAO::FOE_NON && worker.num_received_ex () == 0 && worker.invocation_completed (); bool expect_ex_received = expect_ex_kind == worker.received_ex_kind () && worker.num_received_ex () > 0 && !worker.invocation_completed (); if (expect_no_ex || expect_ex_received) { ACE_DEBUG ((LM_DEBUG, "(%P|%t)client: test passed.\n")); return 0; } else { ACE_DEBUG ((LM_ERROR, "(%P|%t)client: test failed.\n")); return 1; } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught in main:"); return 1; } return 0; }
int Worker::svc (void) { try { CORBA::Object_var object = this->orb_->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR ((LM_ERROR, "Object reference <%s> is nil.\n", ior)); return 0; } try { CORBA::Boolean r = server->test_is_a ("IDL:Foo:1.0"); this->invocation_completed_ = true; if (r != 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d\n", r)); } catch (const CORBA::OBJECT_NOT_EXIST &) { ACE_DEBUG ((LM_DEBUG, "(%P|%t)received OBJECT_NOT_EXIST \n")); if (!this->done_) { ++ this->num_received_ex_; received_ex_kind_ |= TAO::FOE_OBJECT_NOT_EXIST; } } catch (const CORBA::COMM_FAILURE &) { ACE_DEBUG ((LM_DEBUG, "(%P|%t)received COMM_FAILURE \n")); if (!this->done_) { ++ this->num_received_ex_; received_ex_kind_ |= TAO::FOE_COMM_FAILURE; } } catch (const CORBA::TRANSIENT &) { ACE_DEBUG ((LM_DEBUG, "(%P|%t)received TRANSIENT \n")); if (!this->done_) { ++ this->num_received_ex_; received_ex_kind_ |= TAO::FOE_TRANSIENT; } } catch (const CORBA::INV_OBJREF &) { ACE_DEBUG ((LM_DEBUG, "(%P|%t)received INV_OBJREF \n")); if (!this->done_) { ++ this->num_received_ex_; received_ex_kind_ |= TAO::FOE_INV_OBJREF; } } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Unexpected exception caught"); } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { Fl_Window window(300, 300); TAO::FlResource_Loader fl_loader; Simple_Window sw (10, 10, window.w () - 20, window.h () - 20); window.resizable (&sw); window.end (); try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) return 1; char* targv[] = { ACE_TEXT_ALWAYS_CHAR (argv[0]) }; window.show (1, targv); sw.show (); CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); Simple_Server_i server_impl (orb.in (), &sw); PortableServer::ObjectId_var id = root_poa->activate_object (&server_impl); CORBA::Object_var object = root_poa->id_to_reference (id.in ()); Simple_Server_var server = Simple_Server::_narrow (object.in ()); CORBA::String_var ior = orb->object_to_string (server.in ()); ACE_DEBUG ((LM_DEBUG, "Activated as <%C>\n", ior.in ())); // If the ior_output_file exists, output the ior to it if (ior_output_file != 0) { FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); if (output_file == 0) ACE_ERROR_RETURN ((LM_ERROR, "Cannot open output file for writing IOR: %s", ior_output_file), 1); ACE_OS::fprintf (output_file, "%s", ior.in ()); ACE_OS::fclose (output_file); } poa_manager->activate (); if (Fl::run () == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "Fl::run"), -1); ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Caught exception:"); return 1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA"); if (CORBA::is_nil (poa_object.in ())) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n"), 1); PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ()); PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); poa_manager->activate (); if (parse_args (argc, argv) != 0) return 1; CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } Callback_i callback_impl (orb.in ()); PortableServer::ObjectId_var id = root_poa->activate_object (&callback_impl); CORBA::Object_var object_act = root_poa->id_to_reference (id.in ()); Callback_var callback = Callback::_narrow (object_act.in ()); for (int i = 0; i != niterations; ++i) { CORBA::Long r = server->test_method (0, 0, callback.in ()); if (r != 0) { ACE_DEBUG ((LM_DEBUG, "(%P|%t) unexpected result = %d for %d", r, i)); } } if (do_abort) { try { server->shutdown_now (0); } catch (const CORBA::COMM_FAILURE&) { // Expected exception, continue.... } } else if (do_crash) { try { server->shutdown_now (1); } catch (const CORBA::COMM_FAILURE&) { // Expected exception, continue.... } } else if (do_suicide) { (void) server->test_method (1, 0, callback.in ()); // The shutdown callback could arrive after this twoway invocation // returned. Wait for it shutdown callback and abort, // otherwise it will timeout (in run_test.pl). ACE_OS::sleep (120); } else if (do_self_shutdown) { (void) server->test_method (1, 1, callback.in ()); } if (do_shutdown) { server->shutdown (); } root_poa->destroy (1, 1); } catch (const CORBA::COMM_FAILURE& x) { // For other case this is expected. if (do_self_shutdown == 0) { x._tao_print_exception ("ERROR: Unexpected exception\n"); } } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Exception caught in client:"); return -1; } return 0; }
int ACE_TMAIN(int argc, ACE_TCHAR *argv[]) { try { CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); if (parse_args (argc, argv) != 0) { return 1; } CORBA::Object_var object = orb->string_to_object (ior); Simple_Server_var server = Simple_Server::_narrow (object.in ()); if (CORBA::is_nil (server.in ())) { ACE_ERROR_RETURN ((LM_ERROR, "Object reference <%s> is nil.\n", ior), 1); } Structure the_in_structure; the_in_structure.seq.length (10); if (test_user_exception == 1) { server->raise_user_exception (); } else if (test_system_exception == 1) { server->raise_system_exception (); } else { for (int i = 0; i != niterations; ++i) { CORBA::Long const tv = i + 100; server->test_val(tv); CORBA::Long const rtv = server->test_val (); if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, "DSI_Simpler_Server ==== Expected result = %d for %d\n", rtv, tv)); } if (rtv != tv) { ACE_ERROR ((LM_ERROR, "(%P|%t) ERROR: unexpected result = %d for %d\n", rtv, tv)); } the_in_structure.i = i; CORBA::String_var name = CORBA::string_dup ("the name"); Structure_var the_out_structure; CORBA::Long const r = server->test_method (i, the_in_structure, the_out_structure.out (), name.inout ()); if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, "DSI_Simpler_Server ====\n" " x = %d\n" " i = %d\n" " length = %d\n" " name = <%C>\n", r, the_out_structure->i, the_out_structure->seq.length (), name.in ())); } if (r != i) { ACE_ERROR ((LM_ERROR, "(%P|%t) ERROR: unexpected result = %d for %d", r, i)); } } } if (do_shutdown) { server->shutdown (); } } catch (const test_exception& ex) { if (test_user_exception == 1) ACE_DEBUG ((LM_DEBUG, "Client: caught expected user exception: %C\n", ex._name())); else ex._tao_print_exception ("Client: exception caught - "); ACE_DEBUG ((LM_DEBUG, "error code: %d\n" "error info: %C\n" "status: %C\n", ex.error_code, ex.error_message.in (), ex.status_message.in ())); return test_user_exception == 1 ? 0 : 1; } catch (const CORBA::NO_PERMISSION& ex) { if (test_system_exception == 1) ACE_DEBUG ((LM_DEBUG, "Client: caught expected system exception: %C\n", ex._name())); else ex._tao_print_exception ("Client: exception caught - "); return test_system_exception == 1 ? 0 : 1; } catch (const CORBA::Exception& ex) { ex._tao_print_exception ("Client: exception caught - "); return 1; } return 0; }