diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/Outgoing.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp index 170c496b9c5..222f505d294 100644 --- a/cpp/src/Ice/Outgoing.cpp +++ b/cpp/src/Ice/Outgoing.cpp @@ -137,11 +137,14 @@ ProxyOutgoingBase::invokeImpl() try { _invocationTimeoutDeadline = Time(); // Reset any previously set value - - int timeout = _handler->waitForConnection()->timeout(); - if(timeout > 0) + Ice::ConnectionIPtr connection = _handler->waitForConnection(); + if(connection) { - _invocationTimeoutDeadline = Time::now(Time::Monotonic) + Time::milliSeconds(timeout); + int timeout = connection->timeout(); + if(timeout > 0) + { + _invocationTimeoutDeadline = Time::now(Time::Monotonic) + Time::milliSeconds(timeout); + } } } catch(const Ice::LocalException&) |