From e7316df001ab769a375a6ed9dfaa74ec54c418d6 Mon Sep 17 00:00:00 2001 From: Robert Davies Date: Wed, 5 Mar 2008 10:17:43 +0000 Subject: [PATCH] synchronize around the messagesWaitingForSpace git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@633808 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/activemq/broker/region/Topic.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java b/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java index 2b5798251a..5e0b239f7d 100755 --- a/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java +++ b/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java @@ -505,9 +505,11 @@ public class Topic extends BaseDestination implements Task{ } public boolean iterate() { - while (!memoryUsage.isFull() && !messagesWaitingForSpace.isEmpty()) { - Runnable op = messagesWaitingForSpace.removeFirst(); - op.run(); + synchronized(messagesWaitingForSpace) { + while (!memoryUsage.isFull() && !messagesWaitingForSpace.isEmpty()) { + Runnable op = messagesWaitingForSpace.removeFirst(); + op.run(); + } } return false; }