diff options
author | bala <balanatarajan@users.noreply.github.com> | 2002-04-12 21:09:28 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2002-04-12 21:09:28 +0000 |
commit | dcc4aae2a8000d65757fac4203232893a1dfbdcb (patch) | |
tree | 54e14fb32b2ae131dbad073ec2a1f05fc0ada37a /TAO/tao/Strategies/SHMIOP_Connector.cpp | |
parent | 7b3700a7c380f1533b4367d999a303a9bfcba841 (diff) | |
download | ATCD-connection_timeout_0.tar.gz |
ChangeLogTag: Fri Apr 12 15:39:50 2002 Balachandran Natarajan <bala@cs.wustl.edu>connection_timeout_0
Diffstat (limited to 'TAO/tao/Strategies/SHMIOP_Connector.cpp')
-rw-r--r-- | TAO/tao/Strategies/SHMIOP_Connector.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/TAO/tao/Strategies/SHMIOP_Connector.cpp b/TAO/tao/Strategies/SHMIOP_Connector.cpp index 8b6f21e84c9..440522991d1 100644 --- a/TAO/tao/Strategies/SHMIOP_Connector.cpp +++ b/TAO/tao/Strategies/SHMIOP_Connector.cpp @@ -124,7 +124,6 @@ TAO_SHMIOP_Connector::make_connect (TAO_GIOP_Invocation *invocation, ACE_TEXT ("TAO (%P|%t) Connector::connect - ") ACE_TEXT ("looking for SHMIOP connection.\n"))); - TAO_Transport *&transport = invocation->transport (); ACE_Time_Value *max_wait_time = invocation->max_wait_time (); TAO_Endpoint *endpoint = desc->endpoint (); @@ -160,7 +159,6 @@ TAO_SHMIOP_Connector::make_connect (TAO_GIOP_Invocation *invocation, int result = 0; TAO_SHMIOP_Connection_Handler *svc_handler = 0; - TAO_Transport *base_transport = 0; if (TAO_debug_level > 2) ACE_DEBUG ((LM_DEBUG, @@ -216,11 +214,13 @@ TAO_SHMIOP_Connector::make_connect (TAO_GIOP_Invocation *invocation, return -1; } - base_transport = TAO_Transport::_duplicate (svc_handler->transport ()); + TAO_Transport *base_transport = + TAO_Transport::_duplicate (svc_handler->transport ()); + // Add the handler to Cache int retval = this->orb_core ()->lane_resources ().transport_cache ().cache_transport (desc, - svc_handler->transport ()); + base_transport); if (retval != 0 && TAO_debug_level > 0) { @@ -229,8 +229,20 @@ TAO_SHMIOP_Connector::make_connect (TAO_GIOP_Invocation *invocation, ACE_TEXT ("could not add the new connection to Cache \n"))); } - // No need to _duplicate and release since base_transport - // is going out of scope. transport now has control of base_transport. + + // If the wait strategy wants us to be registered with the reactor + // then we do so. + retval = base_transport->wait_strategy ()->register_handler (); + + if (retval != 0 && TAO_debug_level > 0) + { + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("(%P|%t) IIOP_Connector::connect ") + ACE_LIB_TEXT ("could not add the new connection to reactor \n"))); + } + + // Handover the transport pointer to the Invocation class. + TAO_Transport *&transport = invocation->transport (); transport = base_transport; return 0; |