From fdaf524382452a156ae8437e48e0ebe95ff15e8c Mon Sep 17 00:00:00 2001 From: Maria Sokolova Date: Mon, 15 Apr 2024 20:02:36 +0200 Subject: [PATCH] Fixup for the bug in atomicfu: in case of delegated "volatile" properties, atomicfu-compiler-plugin swaps the order of property initialization. --- .../jvmAndNix/src/io/ktor/server/cio/CIOApplicationEngine.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ktor-server/ktor-server-cio/jvmAndNix/src/io/ktor/server/cio/CIOApplicationEngine.kt b/ktor-server/ktor-server-cio/jvmAndNix/src/io/ktor/server/cio/CIOApplicationEngine.kt index 9a431db3e1d..b0880c7c11e 100644 --- a/ktor-server/ktor-server-cio/jvmAndNix/src/io/ktor/server/cio/CIOApplicationEngine.kt +++ b/ktor-server/ktor-server-cio/jvmAndNix/src/io/ktor/server/cio/CIOApplicationEngine.kt @@ -51,7 +51,8 @@ public class CIOApplicationEngine( private val startupJob: CompletableDeferred = CompletableDeferred() private val stopRequest: CompletableJob = Job() - private var serverJob: Job by atomic(Job()) + // Compiler plugin swaps the order of initialization of atomic field + @Volatile private var serverJob: Job = Job() init { serverJob = initServerJob()