diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-01-17 15:10:04 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-01-17 15:10:04 +0000 |
commit | bd777c7e4959987ab624adb0f7b8b8b71e356365 (patch) | |
tree | f8364d3d1e998d0e171433f767b6d28784a127c3 /cppe/src | |
parent | file gpl.license was initially added on branch R3_0_branch. (diff) | |
download | ice-bd777c7e4959987ab624adb0f7b8b8b71e356365.tar.bz2 ice-bd777c7e4959987ab624adb0f7b8b8b71e356365.tar.xz ice-bd777c7e4959987ab624adb0f7b8b8b71e356365.zip |
Fixed bug 776
Diffstat (limited to 'cppe/src')
-rwxr-xr-x | cppe/src/IceE/Connection.cpp | 11 |
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) { |