summaryrefslogtreecommitdiff
path: root/cppe/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-01-17 15:10:04 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-01-17 15:10:04 +0000
commitbd777c7e4959987ab624adb0f7b8b8b71e356365 (patch)
treef8364d3d1e998d0e171433f767b6d28784a127c3 /cppe/src
parentfile gpl.license was initially added on branch R3_0_branch. (diff)
downloadice-bd777c7e4959987ab624adb0f7b8b8b71e356365.tar.bz2
ice-bd777c7e4959987ab624adb0f7b8b8b71e356365.tar.xz
ice-bd777c7e4959987ab624adb0f7b8b8b71e356365.zip
Fixed bug 776
Diffstat (limited to 'cppe/src')
-rwxr-xr-xcppe/src/IceE/Connection.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cppe/src/IceE/Connection.cpp b/cppe/src/IceE/Connection.cpp
index e535956b6f2..00acb822442 100755
--- a/cppe/src/IceE/Connection.cpp
+++ b/cppe/src/IceE/Connection.cpp
@@ -1046,7 +1046,16 @@ Ice::Connection::validate()
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
- assert(_state == StateNotValidated);
+ //
+ // The connection might already be closed (e.g.: the communicator
+ // was destroyed or object adapter deactivated.)
+ //
+ assert(_state == StateNotValidated || _state == StateClosed);
+ if(_state == StateClosed)
+ {
+ assert(_exception.get());
+ _exception->ice_throw();
+ }
if(_adapter)
{