summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2019-04-15 09:00:03 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2019-04-15 09:00:03 +0200
commitd9a9912cb8130109784d908771626f0856f4d83a (patch)
treef1f9a1298c5d50c38c4f80961ee485207fc58bd4
parent0dfeb018b048008367f36db424458fbc19fff402 (diff)
downloadATCD-d9a9912cb8130109784d908771626f0856f4d83a.tar.gz
Add option to set a shutdown delay
* TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp:
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp b/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp
index 12f26d52584..688b7b6eec1 100644
--- a/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp
+++ b/TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp
@@ -64,12 +64,13 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
ORB_Runner *runner = new ORB_Runner (orb.in ());
int poa_delay = 10;
+ int shutdown_delay = 0;
ACE_DEBUG ((LM_DEBUG, "(%P|%t) Start server main\n"));
try
{
- ACE_Get_Opt get_opts (argc, argv, ACE_TEXT ("p:?"));
+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT ("p:s:?"));
int c;
while ((c = get_opts ()) != -1)
@@ -78,11 +79,14 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
case 'p':
poa_delay = ACE_OS::atoi (get_opts.opt_arg ());
break;
+ case 's':
+ shutdown_delay = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
case '?':
ACE_DEBUG ((LM_DEBUG,
"usage: %s "
"-d <seconds to delay before initializing POA> "
- "-n Number of the server\n",
+ "-s <seconds to delay before exiting main after the ORB destroy>\n",
argv[0]));
return 1;
break;
@@ -107,7 +111,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
Test_var tva = Test::_narrow (obj.in());
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Started Server pid = %d poa delay %d\n", ACE_OS::getpid (), poa_delay));
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) Started Server pid <%d> poa delay <%d> shutdown delay <%d>\n", ACE_OS::getpid (), poa_delay, shutdown_delay));
{
ACE_CString status_file = base + ACE_CString(".status");
@@ -123,7 +127,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_OS::sleep (tv);
activatePOAs ();
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Activated POA pid = %d\n", ACE_OS::getpid ()));
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) Activated POA pid <%d>\n", ACE_OS::getpid ()));
TAO_Root_POA* tpoa = dynamic_cast<TAO_Root_POA*> (poa_a.in ());
ACE_ASSERT (tpoa != 0);
@@ -140,6 +144,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
table->bind (base.c_str (), test_ior.in ());
runner->wait ();
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) Destroying POA pid <%d>\n", ACE_OS::getpid ()));
+
root_poa->destroy(1,1);
orb->destroy();
}
@@ -152,6 +159,8 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
delete runner;
orb = CORBA::ORB::_nil ();
+ ACE_OS::sleep (shutdown_delay);
+
ACE_DEBUG ((LM_DEBUG, "(%P|%t) Exiting Server pid = %d \n",
ACE_OS::getpid ()));