01/11/2022, 8:54 AM
I have an actor, i dispatch a message to it that contains a suspending lambda, that lambas operation dispatches more messages to the actor, but they never seem to arrive. is that because the actor is still busy processing the first message which is waiting for the suspending lambda to complete?

Zach Klippenstein (he/him) [MOD]

01/11/2022, 3:48 PM
That sounds like a reasonable explanation


01/15/2022, 10:31 AM
I managed to get around this by having a router actor that dispatches messages to operation actors, but this still breaks in a usecase where i have a suspending lambda that calls the current actor 😞 i "fixed" this by jumping in and out of the actor but defo feels like am breaking the whole point of an actor in this case
anyone curious its here
doing a bit of reading its because Kotlin Actors are not reentrant actors...I don't think