From d9a9912cb8130109784d908771626f0856f4d83a Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Mon, 15 Apr 2019 09:00:03 +0200 Subject: Add option to set a shutdown delay * TAO/orbsvcs/tests/ImplRepo/Bug_4152_Regression/server.cpp: --- .../tests/ImplRepo/Bug_4152_Regression/server.cpp | 17 +++++++++++++---- 1 file 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 " - "-n Number of the server\n", + "-s \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 (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 ())); -- cgit v1.2.1