summaryrefslogtreecommitdiff
path: root/TAO/tao/SHMIOP_Connect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/SHMIOP_Connect.cpp')
-rw-r--r--TAO/tao/SHMIOP_Connect.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/TAO/tao/SHMIOP_Connect.cpp b/TAO/tao/SHMIOP_Connect.cpp
index baeb11e05d3..442171a1a1f 100644
--- a/TAO/tao/SHMIOP_Connect.cpp
+++ b/TAO/tao/SHMIOP_Connect.cpp
@@ -13,6 +13,7 @@
#include "tao/GIOP_Message_Acceptors.h"
#include "tao/GIOP_Message_Lite.h"
#include "tao/Server_Strategy_Factory.h"
+#include "tao/SHMIOP_Endpoint.h"
#if !defined (__ACE_INLINE__)
# include "tao/SHMIOP_Connect.i"
@@ -133,6 +134,24 @@ TAO_SHMIOP_Server_Connection_Handler::open (void*)
if (this->peer ().get_remote_addr (addr) == -1)
return -1;
+ // Construct an SHMIOP_Endpoint object
+ TAO_SHMIOP_Endpoint endpoint (addr,
+ 0);
+
+ // Construct a property object
+ TAO_Base_Connection_Property prop (&endpoint);
+
+ // Add the handler to Cache
+ if (this->orb_core ()->connection_cache ().cache_handler (&prop,
+ this) == -1)
+ {
+ if (TAO_debug_level > 4)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) unable to cache the handle \n")));
+ }
+ }
+
if (TAO_debug_level > 0)
{
char client[MAXHOSTNAMELEN + 16];