diff options
-rw-r--r-- | TAO/ChangeLog | 10 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp | 11 |
2 files changed, 16 insertions, 5 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 3d9bc2427a6..485afd483ea 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,13 @@ +Mon May 19 13:02:16 2003 Ossama Othman <ossama@dre.vanderbilt.edu> + + * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp (main): + + Destroy the POA prior to exiting on failure the scope containing + the stack instantiated servants used by this test. Fixes a + segmenation fault caused by the POA being destroyed after the + stack instantiated servants were destroyed. The POA was + attempting to deactivate servants that no longer existed. + Mon May 19 11:05:26 2003 Ossama Othman <ossama@dre.vanderbilt.edu> From Knut-Håvard Aksnes <knut@orion.no> diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp index fc7c7ca438a..658cb320279 100644 --- a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp +++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp @@ -31,11 +31,12 @@ main (int argc, char *argv[]) lb_server.orb (), location2); - if (lb_server.register_servant (&basic_servant1, location1) == -1) - return 1; - - if (lb_server.register_servant (&basic_servant2, location2) == -1) - return 1; + if (lb_server.register_servant (&basic_servant1, location1) == -1 + || lb_server.register_servant (&basic_servant2, location2) == -1) + { + (void) lb_server.destroy (); + return 1; + } lb_server.orb ()->run (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_TRY_CHECK; |