From 0f1227d401596316c0da39954d12bf693f918f43 Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Thu, 18 Nov 2021 02:57:08 +0000 Subject: [PATCH] Use `Mutex` than `@Synchronized` --- .../kotlin/network/framework/TestNetworkHandler.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mirai-core/src/commonTest/kotlin/network/framework/TestNetworkHandler.kt b/mirai-core/src/commonTest/kotlin/network/framework/TestNetworkHandler.kt index 27f21fa8d..35b67c80a 100644 --- a/mirai-core/src/commonTest/kotlin/network/framework/TestNetworkHandler.kt +++ b/mirai-core/src/commonTest/kotlin/network/framework/TestNetworkHandler.kt @@ -11,6 +11,8 @@ package net.mamoe.mirai.internal.network.framework import io.netty.channel.Channel import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.sync.Mutex +import kotlinx.coroutines.sync.withLock import net.mamoe.mirai.internal.QQAndroidBot import net.mamoe.mirai.internal.network.handler.NetworkHandler import net.mamoe.mirai.internal.network.handler.NetworkHandlerContext @@ -35,9 +37,9 @@ internal open class TestNetworkHandler( val resumeDeferred = CompletableDeferred<Unit>() val resumeCount = AtomicInteger(0) val onResume get() = resumeDeferred.onJoin + private val mutex = Mutex() - @Synchronized - override suspend fun resumeConnection0() { + override suspend fun resumeConnection0(): Unit = mutex.withLock { resumeCount.incrementAndGet() resumeDeferred.complete(Unit) when (this.correspondingState) {