summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-04-08 12:46:18 +0000
committeriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-04-08 12:46:18 +0000
commit39f5109f58c253f97abcfaf5582843ddc7af8547 (patch)
tree962cb97c2c46c4e9bab922afca8fe43efa89d2cb
parent26aeede19284bcd9ab96d01c8692f00f3f2df854 (diff)
downloadATCD-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/ChangeLog38
-rw-r--r--TAO/tao/TAO_Internal.cpp2
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