diff --git a/compiler/daemon/daemon-common-new/src/org/jetbrains/kotlin/daemon/common/experimental/CompileServiceClientSideImpl.kt b/compiler/daemon/daemon-common-new/src/org/jetbrains/kotlin/daemon/common/experimental/CompileServiceClientSideImpl.kt index f12cd9d279d..316939c04f9 100644 --- a/compiler/daemon/daemon-common-new/src/org/jetbrains/kotlin/daemon/common/experimental/CompileServiceClientSideImpl.kt +++ b/compiler/daemon/daemon-common-new/src/org/jetbrains/kotlin/daemon/common/experimental/CompileServiceClientSideImpl.kt @@ -56,10 +56,12 @@ class CompileServiceClientSideImpl( while (keepAliveSuccess()) { delay(KEEPALIVE_PERIOD - millisecondsSinceLastUsed()) } - runWithTimeout(timeout = KEEPALIVE_PERIOD / 2) { + val keepAliveAcknowledgement = runWithTimeout(timeout = KEEPALIVE_PERIOD / 2) { val id = sendMessage(keepAliveMessage) readMessage>(id) - } ?: if (!keepAliveSuccess()) readActor.send(StopAllRequests()).also { + } + if (keepAliveAcknowledgement == null && !keepAliveSuccess()) { + readActor.send(StopAllRequests()) } } }