summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2006-04-27 14:22:45 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2006-04-27 14:22:45 +0000
commit4cfdb2da6d75b909a9914fe37ed28bb89cd16d5a (patch)
tree73f8cd9780b81e38c1628e1785617258d235d968
parent7e2b8bc78a4c3c7cf02ed45e8f9febd11a4ae7cc (diff)
downloadATCD-4cfdb2da6d75b909a9914fe37ed28bb89cd16d5a.tar.gz
ChangeLog tag: Thu Apr 27 14:20:02 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r--TAO/ChangeLog8
-rw-r--r--TAO/tao/IIOP_Endpoint.cpp9
-rw-r--r--TAO/tao/PortableServer/POAManagerFactory.cpp2
3 files changed, 16 insertions, 3 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index fa080e7a020..2d7083bdb4e 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,11 @@
+Thu Apr 27 14:20:02 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tao/IIOP_Endpoint.cpp:
+ Fixed a recursion problem with the IPv6 endpoint selection.
+
+ * tao/PortableServer/POAManagerFactory.cpp:
+ Cleaned up compiler warnings.
+
Thu Apr 27 06:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/ORB_Local_Config/lib/lib.mpc:
diff --git a/TAO/tao/IIOP_Endpoint.cpp b/TAO/tao/IIOP_Endpoint.cpp
index ac13a05101a..f72f3999629 100644
--- a/TAO/tao/IIOP_Endpoint.cpp
+++ b/TAO/tao/IIOP_Endpoint.cpp
@@ -250,7 +250,7 @@ TAO_IIOP_Endpoint::next_filtered (TAO_ORB_Core * orb_core, TAO_Endpoint *root)
bool ipv6_only = false;
bool prefer_ipv6 = false;
#if defined (ACE_HAS_IPV6)
- want_ipv6 = 1;
+ want_ipv6 = true;
ipv6_only = orb_core->orb_params()->connect_ipv6_only();
prefer_ipv6 = orb_core->orb_params()->prefer_ipv6_interfaces();
#else
@@ -269,7 +269,12 @@ TAO_IIOP_Endpoint::next_filtered_i (TAO_IIOP_Endpoint *root,
bool prefer_ipv6,
bool want_ipv6)
{
+ // the candidate is nominally the next entry in the list, but since
+ // the list may loop back on itself, the root of the list needs to be
+ // initialized.
TAO_IIOP_Endpoint *candidate = (root == 0) ? this : next_;
+ if (root == 0)
+ root = this;
#if defined (ACE_HAS_IPV6)
if (ipv6_only)
@@ -287,7 +292,7 @@ TAO_IIOP_Endpoint::next_filtered_i (TAO_IIOP_Endpoint *root,
{
if (candidate == 0)
return !want_ipv6 ? candidate :
- candidate->next_filtered_i(root, ipv6_only, prefer_ipv6, false);
+ root->next_filtered_i(root, ipv6_only, prefer_ipv6, false);
if (want_ipv6 == candidate->is_ipv6_decimal())
return candidate;
diff --git a/TAO/tao/PortableServer/POAManagerFactory.cpp b/TAO/tao/PortableServer/POAManagerFactory.cpp
index 3a697f1bdb6..25d6b0bdc28 100644
--- a/TAO/tao/PortableServer/POAManagerFactory.cpp
+++ b/TAO/tao/PortableServer/POAManagerFactory.cpp
@@ -57,7 +57,7 @@ TAO_POAManager_Factory::create_POAManager (
ACE_CHECK_RETURN (::PortableServer::POAManager::_nil ());
// If we already have a manager with the same name throw an exception
- if (!CORBA::is_nil (poamanager))
+ if (!CORBA::is_nil (poamanager.in()))
{
ACE_THROW_RETURN (
::PortableServer::POAManagerFactory::ManagerAlreadyExists (),