summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
index ec475eb4abd..d2930046a40 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
@@ -27,7 +27,7 @@ ACE_RCSID (TAO_SSLIOP,
template class TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>;
template class TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
+template class ACE_SSL_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>;
@@ -43,7 +43,7 @@ template class ACE_Auto_Basic_Ptr<TAO_SSLIOP_Connection_Handler>;
#pragma instantiate TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>
#pragma instantiate TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
+#pragma instantiate ACE_SSL_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
#pragma instantiate ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
#pragma instantiate ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
@@ -489,17 +489,27 @@ TAO_SSLIOP_Connector::ssliop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
svc_handler = safe_handler.release ();
+ // Get the max_wait_time
+ ACE_Time_Value *max_wait_time = 0;
+
+ ACE_Time_Value connection_timeout;
+ int timeout = 0;
+
+ this->orb_core ()->connection_timeout (invocation->stub (),
+ timeout,
+ connection_timeout);
+ if (!timeout)
+ max_wait_time =
+ invocation->max_wait_time ();
+ else
+ max_wait_time = &connection_timeout;
// Get the right synch options
ACE_Synch_Options synch_options;
- ACE_Time_Value *max_wait_time =
- invocation->max_wait_time ();
-
this->active_connect_strategy_->synch_options (max_wait_time,
synch_options);
-
// We obtain the transport in the <svc_handler> variable.
// As we know now that the connection is not available in
// Cache we can make a new connection
@@ -507,7 +517,6 @@ TAO_SSLIOP_Connector::ssliop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
remote_address,
synch_options);
-
// We dont have to wait since we only use a blocked connect
// strategy.
if (result == -1 && errno == EWOULDBLOCK)