Thank you for those links, very useful!
The parent actor will (by the pulling-work-pattern you point out) then
effectively have a mailbox/queue of it's own for each child (as in my
case they can not process each others messages), and this just for
those few cases when the child wants to stop... I
Rather than simply sending all messages to the child actor, you could only
send messages in response to a "request for work" message from the child,
holding all other messages in an internal queue until ready. Then, if the
child stops itself, it *won't* request work and the parent will correctl
After closer investigation, I found out that context().stop(self())
actually stops the actor before the next message is processed. But the
parent receives the Terminated-message AFTER it has delegated the next
message to the dying actor, so the message is in dead-letters. So the
problem is the