summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Bug_1395_Regression
diff options
context:
space:
mode:
authorvzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-10-15 12:17:30 +0000
committervzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-10-15 12:17:30 +0000
commitbb023453a70a0693fcf5981a1d7a8818db5f33b1 (patch)
treea626e70fe27c75f05c2077e0a9f4334a27f55fd7 /TAO/orbsvcs/tests/Bug_1395_Regression
parent5cb85f20a47da8254f2918f76cdf179d2b10ba4c (diff)
downloadATCD-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.mpc2
-rw-r--r--TAO/orbsvcs/tests/Bug_1395_Regression/server.cpp26
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();