diff options
author | Marc Laukien <marc@zeroc.com> | 2002-07-01 18:03:44 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-07-01 18:03:44 +0000 |
commit | 35486b505c44e937115759d29ecf12ca470951d5 (patch) | |
tree | 0cec36d62b0d08465598b79e5c207568daf6602e /cpp/src/Ice/Connection.cpp | |
parent | Added additional check to make sure that no exception is mentioned more (diff) | |
download | ice-35486b505c44e937115759d29ecf12ca470951d5.tar.bz2 ice-35486b505c44e937115759d29ecf12ca470951d5.tar.xz ice-35486b505c44e937115759d29ecf12ca470951d5.zip |
validation fixes
Diffstat (limited to 'cpp/src/Ice/Connection.cpp')
-rw-r--r-- | cpp/src/Ice/Connection.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/cpp/src/Ice/Connection.cpp b/cpp/src/Ice/Connection.cpp index f30bd36759c..5b39e960feb 100644 --- a/cpp/src/Ice/Connection.cpp +++ b/cpp/src/Ice/Connection.cpp @@ -833,10 +833,25 @@ IceInternal::Connection::Connection(const InstancePtr& instance, { // // Incoming connections play the active role with respect - // to connection validation. + // to connection validation, and are implicitly validated. // + try + { + validateConnection(); + } + catch(const LocalException& ex) + { + if(_warn) + { + Warning out(_logger); + out << "connection exception:\n" << ex << '\n' << _transceiver->toString(); + } + _transceiver->close(); + _state = StateClosed; + ex.ice_throw(); + } + _connectionValidated = true; - validateConnection(); } else { |