diff options
author | iliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-04-08 12:46:18 +0000 |
---|---|---|
committer | iliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2008-04-08 12:46:18 +0000 |
commit | 39f5109f58c253f97abcfaf5582843ddc7af8547 (patch) | |
tree | 962cb97c2c46c4e9bab922afca8fe43efa89d2cb | |
parent | 26aeede19284bcd9ab96d01c8692f00f3f2df854 (diff) | |
download | ATCD-39f5109f58c253f97abcfaf5582843ddc7af8547.tar.gz |
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 <iliyan@ociweb.com>
........
-rw-r--r-- | TAO/ChangeLog | 38 | ||||
-rw-r--r-- | TAO/tao/TAO_Internal.cpp | 2 |
2 files changed, 39 insertions, 1 deletions
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 <iliyan@ociweb.com> + + 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 <iliyan@ociweb.com> * 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 |