in hot-reload-core/src/main/kotlin/org/jetbrains/compose/reload/core/Actor.kt [59:84]
override fun close(error: Throwable?): Boolean {
val exception = error ?: ActorClosedException()
val previousState = state.update {
if (it is State.Closed) return false
State.Closed(exception)
}.previous
launchTask("ActorImpl.close") {
queue.send(QueueClosed)
if (previousState is State.Processing) {
previousState.future.await()
}
while (isActive()) {
when (val element = queue.receive()) {
is QueueClosed -> continue
is CompletableInput<*, *> -> element.future.completeExceptionally(exception)
}
}
}
return true
}