From 39f5109f58c253f97abcfaf5582843ddc7af8547 Mon Sep 17 00:00:00 2001 From: iliyan Date: Tue, 8 Apr 2008 12:46:18 +0000 Subject: Merged revisions 81270 via svnmerge from https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk/TAO ........ r81270 | iliyan | 2008-04-08 07:16:13 -0500 (Tue, 08 Apr 2008) | 1 line ChangeLogTag: Tue Apr 8 12:04:20 UTC 2008 Iliyan Jeliazkov ........ --- TAO/ChangeLog | 38 ++++++++++++++++++++++++++++++++++++++ TAO/tao/TAO_Internal.cpp | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 40c4b5d9692..e8de1edec8a 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,41 @@ +Tue Apr 8 12:04:20 UTC 2008 Iliyan Jeliazkov + + This is the last batch of changes related to the re-factoring of + the service configuration, which aims to eliminate a number of + related memory leaks and bugs. The changes are being ported back + from the "iliyan-gestalt" branch. + + * tao/ORB.h: + * tao/ORB.cpp (ORB_init,init_orb_globals,find_orb_context): + + Modified ORB_init to accept -ORBGestalt command line parameter + which specifies which service configuration context the new ORB + will use. Acceptable values (case-insensitive) include "LOCAL" + forces the ORB to manage its own, local service configuration + context (gestalt). "GLOBAL" forces the new ORB to use (but not + own) the process-global gestalt. The caller can also identify a + particular existing ORB, who will share its ownership of a gestalt + with the new ORB. The existing ORB ID must be prefixed with "ORB:" + and the resulting string as a whole is case-sensitive. Removed + init_orb_globals. + + * tao/ORB_Core.h (TAO_ORB_Core): + * tao/ORB_Core.inl (configuration): + * tao/ORB_Core.cpp (TAO_ORB_Core,orbinitializer_registry_i): + + Modified tor to take a smart pointer for the service + configuration. The core now has a smart pointer member which + allows us to destroy local service configuration contexts + _exactly_ when they are no longer needed and eliminate memory + leaks. + + * tao/TAO_Internal.h: + * tao/TAO_Internal.cpp (close_services,open_services): + + Updated for the use of smart pointer for the gestalt + + * tests/ORB_Local_Config/Shared/Test.cpp (testReusingGlobals): + Sun Apr 6 00:03:27 UTC 2008 Iliyan Jeliazkov * orbsvcs/tests/Notify/Bug_3252_Regression/server.cpp: diff --git a/TAO/tao/TAO_Internal.cpp b/TAO/tao/TAO_Internal.cpp index 9397d52512d..7484b853c45 100644 --- a/TAO/tao/TAO_Internal.cpp +++ b/TAO/tao/TAO_Internal.cpp @@ -728,6 +728,7 @@ namespace ACE_Arg_Shifter arg_shifter (argc, argv); CORBA::ULong len = 0; + while (arg_shifter.is_anything_left ()) { // Can't interpret this argument. Move on to the next argument. @@ -740,7 +741,6 @@ namespace // Proceeds only if the configuration file exists. FILE * const conf_file = ACE_OS::fopen (current_arg, ACE_TEXT ("r")); - if (0 == conf_file) { // Assigning EINVAL to errno to make an exception -- cgit v1.2.1