diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2019-04-15 09:00:03 +0200 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2019-04-15 09:00:03 +0200 |
commit | d9a9912cb8130109784d908771626f0856f4d83a (patch) | |
tree | f1f9a1298c5d50c38c4f80961ee485207fc58bd4 | |
parent | 0dfeb018b048008367f36db424458fbc19fff402 (diff) | |
download | ATCD-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.cpp | 17 |
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 ())); |