diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-11-23 13:28:08 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-11-23 13:28:08 +0100 |
commit | 2c578015edcb36cdc0acd0227295de1dcca1b995 (patch) | |
tree | e163980b5dabb43a40089a29fdf8ff47a3e07f1c /cpp/src/Ice/Outgoing.cpp | |
parent | no longer generating inspect method for each Ruby exception (diff) | |
download | ice-2c578015edcb36cdc0acd0227295de1dcca1b995.tar.bz2 ice-2c578015edcb36cdc0acd0227295de1dcca1b995.tar.xz ice-2c578015edcb36cdc0acd0227295de1dcca1b995.zip |
New AMI mapping
Diffstat (limited to 'cpp/src/Ice/Outgoing.cpp')
-rw-r--r-- | cpp/src/Ice/Outgoing.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp index 165255d8a7d..2a59e8b3796 100644 --- a/cpp/src/Ice/Outgoing.cpp +++ b/cpp/src/Ice/Outgoing.cpp @@ -297,7 +297,6 @@ IceInternal::Outgoing::invoke() if(_exception.get()) { - assert(!_sent); _exception->ice_throw(); } } @@ -515,13 +514,13 @@ IceInternal::Outgoing::finished(BasicStream& is) } void -IceInternal::Outgoing::finished(const LocalException& ex) +IceInternal::Outgoing::finished(const LocalException& ex, bool sent) { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor); assert(_state <= StateInProgress); - _state = StateFailed; _exception.reset(dynamic_cast<LocalException*>(ex.ice_clone())); + _sent = sent; _monitor.notify(); } @@ -543,7 +542,7 @@ IceInternal::Outgoing::throwUserException() IceInternal::BatchOutgoing::BatchOutgoing(RequestHandler* handler) : _handler(handler), _connection(0), - _sent(false), + _sent(false), _os(handler->getReference()->getInstance().get()) { } @@ -570,7 +569,6 @@ IceInternal::BatchOutgoing::invoke() if(_exception.get()) { - assert(!_sent); _exception->ice_throw(); } } @@ -592,7 +590,7 @@ IceInternal::BatchOutgoing::sent(bool notify) } void -IceInternal::BatchOutgoing::finished(const Ice::LocalException& ex) +IceInternal::BatchOutgoing::finished(const Ice::LocalException& ex, bool) { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor); _exception.reset(dynamic_cast<LocalException*>(ex.ice_clone())); |