From 3de15e35900ecc29ef1daf4b66eebfa0fc91e6fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bon=C3=A9r?= Date: Mon, 14 Dec 2009 07:56:25 +0100 Subject: [PATCH] fixed bug in dispatcher --- .../dispatch/ExecutorBasedEventDrivenDispatcher.scala | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala index 902b6ccd53..ea98d855bf 100644 --- a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala +++ b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala @@ -65,11 +65,9 @@ class ExecutorBasedEventDrivenDispatcher(_name: String) extends MessageDispatche def run = { val mailbox = invocation.receiver._mailbox mailbox.synchronized { - val messages = mailbox.iterator - while (messages.hasNext) { - messages.next.invoke - messages.remove - } + val messages = mailbox.toArray + messages.foreach(message => message.asInstanceOf[MessageInvocation].invoke) + mailbox.clear invocation.receiver._suspend } }