From 94dbde74c0a8f7bf3f6822288518f7399342818a Mon Sep 17 00:00:00 2001 From: Yik San Chan Date: Mon, 12 Oct 2020 08:39:24 -0700 Subject: [PATCH] Explain why Mailbox#cleanup uses recursion [ci skip] --- akka-actor/src/main/scala/akka/dispatch/Mailbox.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/akka-actor/src/main/scala/akka/dispatch/Mailbox.scala b/akka-actor/src/main/scala/akka/dispatch/Mailbox.scala index f75930f46f..c62bb56b15 100644 --- a/akka-actor/src/main/scala/akka/dispatch/Mailbox.scala +++ b/akka-actor/src/main/scala/akka/dispatch/Mailbox.scala @@ -385,6 +385,9 @@ trait MessageQueue { * is expected to transfer all remaining messages into the dead letter queue * which is passed in. The owner of this MessageQueue is passed in if * available (e.g. for creating DeadLetters()), “/deadletters” otherwise. + * + * Note that we implement the method in a recursive manner mainly for + * atomicity (not touching the queue twice). */ def cleanUp(owner: ActorRef, deadLetters: MessageQueue): Unit }