summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/AggregateOutput.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-11-11 19:08:19 +0000
committerGordon Sim <gsim@apache.org>2008-11-11 19:08:19 +0000
commitc25b28c67429ffeb3f6dd0d82320fda311792b62 (patch)
tree3f4464940a4acca00bdf24ceda70c274e492b55d /cpp/src/qpid/sys/AggregateOutput.cpp
parent7740280c458564d2803eb1bb57d0ed0c0035d109 (diff)
downloadqpid-python-c25b28c67429ffeb3f6dd0d82320fda311792b62.tar.gz
handle case where doOutput call causes last task to be removed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@713114 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/AggregateOutput.cpp')
-rw-r--r--cpp/src/qpid/sys/AggregateOutput.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/sys/AggregateOutput.cpp b/cpp/src/qpid/sys/AggregateOutput.cpp
index d2c4b7185e..849e2bacfb 100644
--- a/cpp/src/qpid/sys/AggregateOutput.cpp
+++ b/cpp/src/qpid/sys/AggregateOutput.cpp
@@ -47,6 +47,7 @@ bool AggregateOutput::doOutput()
//loop until a task generated some output
while (!result) {
result = tasks[next++]->doOutput();
+ if (tasks.empty()) break;
if (next >= tasks.size()) next = next % tasks.size();
if (start == next) break;
}