fix some bugs, but probably not the pesky ones

- enqueuing system messages to DeadLetterMailbox was broken in
  principle, but not in practice for the current default deadLetter
  implementation
- add assert that system messages are not enqueued multiple times
- *BusSpec was using incorrect compareSubscribers based on
  identityHashCode, so moved the proper solution out of
  BalancingDispatcher and into akka.util.Helpers and reuse that in all
  places
This commit is contained in:
Roland 2011-11-11 17:44:57 +01:00
parent 9a10953219
commit 3808853845
5 changed files with 25 additions and 16 deletions

View file

@ -222,8 +222,9 @@ abstract class MessageDispatcher(val app: ActorSystem) extends Serializable {
if (mailBox.hasSystemMessages) {
var message = mailBox.systemDrain()
while (message ne null) {
val next = message.next
deadLetterMailbox.systemEnqueue(message)
message = message.next
message = next
}
}