summaryrefslogtreecommitdiff
path: root/cpp/src/IceStorm/Subscriber.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-02-07 16:57:57 +0000
committerBenoit Foucher <benoit@zeroc.com>2007-02-07 16:57:57 +0000
commita4ffb5042c7c1a222ec3bd0f9f3743198aaf2470 (patch)
treeb666190edd88845a2c8da0e2e8c377b035d0d6fe /cpp/src/IceStorm/Subscriber.cpp
parentRPM support (diff)
downloadice-a4ffb5042c7c1a222ec3bd0f9f3743198aaf2470.tar.bz2
ice-a4ffb5042c7c1a222ec3bd0f9f3743198aaf2470.tar.xz
ice-a4ffb5042c7c1a222ec3bd0f9f3743198aaf2470.zip
Fixed TwowaySubscriber::flush() to not reset the state from Error to Online
Diffstat (limited to 'cpp/src/IceStorm/Subscriber.cpp')
-rw-r--r--cpp/src/IceStorm/Subscriber.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/IceStorm/Subscriber.cpp b/cpp/src/IceStorm/Subscriber.cpp
index c4ce19d4bdf..461b9b9ea67 100644
--- a/cpp/src/IceStorm/Subscriber.cpp
+++ b/cpp/src/IceStorm/Subscriber.cpp
@@ -346,6 +346,15 @@ SubscriberTwoway::flush()
//
{
IceUtil::Mutex::Lock sync(_mutex);
+
+ //
+ // If the subscriber errored out then we're done.
+ //
+ if(_state == SubscriberStateError)
+ {
+ return false;
+ }
+
//
// If there have been more events queued in the meantime then
// we have a pending flush.