summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/tao/IIOP_Connector.cpp15
-rw-r--r--TAO/tao/SHMIOP_Connector.cpp14
-rw-r--r--TAO/tao/UIOP_Connector.cpp14
3 files changed, 39 insertions, 4 deletions
diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp
index 958b788e5c4..5054cd74421 100644
--- a/TAO/tao/IIOP_Connector.cpp
+++ b/TAO/tao/IIOP_Connector.cpp
@@ -336,10 +336,21 @@ TAO_IIOP_Connector::preconnect (const char *preconnects)
{
if (!failures[slot])
{
- handlers[slot]->idle ();
- // Add it to cache..
+ TAO_IIOP_Endpoint endpoint (remote_addrs[slot],
+ 0);
+ TAO_Base_Connection_Property prop (&endpoint);
+
+ // Add the handler to Cache
+ int retval =
+ this->orb_core ()->connection_cache ().cache_handler (&prop,
+ handlers[slot]);
successes++;
+ if (retval != 0 && TAO_debug_level > 4)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) Unable to add handles\n"),
+ ACE_TEXT ("to cache \n")));
+
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) Preconnection <%s:%d> ")
diff --git a/TAO/tao/SHMIOP_Connector.cpp b/TAO/tao/SHMIOP_Connector.cpp
index 3fd77e2b969..650700a8dcb 100644
--- a/TAO/tao/SHMIOP_Connector.cpp
+++ b/TAO/tao/SHMIOP_Connector.cpp
@@ -385,9 +385,21 @@ TAO_SHMIOP_Connector::preconnect (const char *preconnects)
{
if (!failures[slot])
{
- handlers[slot]->idle ();
+ TAO_SHMIOP_Endpoint endpoint (remote_addrs[slot]);
+
+ TAO_Base_Connection_Property prop (&endpoint);
+
+ // Add the handler to Cache
+ int retval =
+ this->orb_core ()->connection_cache ().cache_handler (&prop,
+ handlers[slot]);
successes++;
+ if (retval != 0 && TAO_debug_level > 4)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) Unable to add handles\n"),
+ ACE_TEXT ("to cache \n")));
+
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) Preconnection <%s:%d> ")
diff --git a/TAO/tao/UIOP_Connector.cpp b/TAO/tao/UIOP_Connector.cpp
index 872fbed8b0d..3f1d3e665d3 100644
--- a/TAO/tao/UIOP_Connector.cpp
+++ b/TAO/tao/UIOP_Connector.cpp
@@ -305,9 +305,21 @@ TAO_UIOP_Connector::preconnect (const char *preconnects)
{
if (!failures[slot])
{
- handlers[slot]->idle ();
+ TAO_UIOP_Endpoint endpoint (remote_addrs[slot]);
+
+ TAO_Base_Connection_Property prop (&endpoint);
+
+ // Add the handler to Cache
+ int retval =
+ this->orb_core ()->connection_cache ().cache_handler (&prop,
+ handlers[slot]);
++successes;
+ if (retval != 0 && TAO_debug_level > 4)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) Unable to add handles\n"),
+ ACE_TEXT ("to cache \n")));
+
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
"TAO (%P|%t) Preconnection <%s> succeeded.\n",