diff --git a/ktor-network/jvm/src/io/ktor/network/selector/SelectorManagerSupport.kt b/ktor-network/jvm/src/io/ktor/network/selector/SelectorManagerSupport.kt index 132f2d9fc9..7ed8cba35c 100644 --- a/ktor-network/jvm/src/io/ktor/network/selector/SelectorManagerSupport.kt +++ b/ktor-network/jvm/src/io/ktor/network/selector/SelectorManagerSupport.kt @@ -4,6 +4,7 @@ package io.ktor.network.selector +import io.ktor.utils.io.errors.* import kotlinx.coroutines.* import java.nio.channels.* import java.nio.channels.spi.* @@ -35,12 +36,12 @@ public abstract class SelectorManagerSupport internal constructor() : SelectorMa val flag = interest.flag if (interestedOps and flag == 0) { val message = if (selectable.isClosed) { - "Selectable is closed" + "Selectable was closed concurrently" } else { "Selectable is invalid state: $interestedOps, $flag" } - throw IllegalArgumentException(message) + throw IOException(message) } suspendCancellableCoroutine { continuation ->