diff options
author | vzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-10-15 12:17:30 +0000 |
---|---|---|
committer | vzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-10-15 12:17:30 +0000 |
commit | bb023453a70a0693fcf5981a1d7a8818db5f33b1 (patch) | |
tree | a626e70fe27c75f05c2077e0a9f4334a27f55fd7 /TAO/orbsvcs/tests/Bug_1395_Regression | |
parent | 5cb85f20a47da8254f2918f76cdf179d2b10ba4c (diff) | |
download | ATCD-bb023453a70a0693fcf5981a1d7a8818db5f33b1.tar.gz |
ChangeLogTag: Wed Oct 15 12:08:01 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
Diffstat (limited to 'TAO/orbsvcs/tests/Bug_1395_Regression')
-rw-r--r-- | TAO/orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc | 2 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp | 26 |
2 files changed, 26 insertions, 2 deletions
diff --git a/TAO/orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc b/TAO/orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc index 15ba66d442b..6a537e0a8d9 100644 --- a/TAO/orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc +++ b/TAO/orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc @@ -10,7 +10,7 @@ project(*IDL): taoidldefaults { custom_only = 1 } -project(*Server): taoserver, imr_client, avoids_corba_e_micro { +project(*Server): taoserver, imr_client, avoids_corba_e_micro, svc_utils { after += *IDL Source_Files { diff --git a/TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp b/TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp index b969307acae..3ace4f1a72d 100644 --- a/TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp +++ b/TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp @@ -3,9 +3,29 @@ #include "ace/Get_Opt.h" #include "Test_i.h" #include "ace/OS_NS_stdio.h" +#include "orbsvcs/Shutdown_Utilities.h" const ACE_TCHAR *ior_output_file = 0; +class Service_Shutdown_Functor : public Shutdown_Functor +{ +public: + Service_Shutdown_Functor (CORBA::ORB_ptr orb) + : orb_(CORBA::ORB::_duplicate (orb)) + { + } + + void operator() (int which_signal) + { + ACE_DEBUG ((LM_DEBUG, + "shutting down on signal %d\n", which_signal)); + (void) this->orb_->shutdown (); + } + +private: + CORBA::ORB_var orb_; +}; + int parse_args (int argc, ACE_TCHAR *argv[]) { @@ -40,6 +60,9 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); + Service_Shutdown_Functor killer (orb.in ()); + Service_Shutdown kill_contractor (killer); + CORBA::Object_var poa_object = orb->resolve_initial_references ("RootPOA"); @@ -59,7 +82,8 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) Test_i server_impl (orb.in ()); - root_poa->activate_object (&server_impl); + PortableServer::ObjectId_var tmp = + root_poa->activate_object (&server_impl); CORBA::Object_var server = server_impl._this(); |