Fix CacheDownloader locking up indefinitely if connect() fails

Signed-off-by: Graham <gpe@openrs2.org>
master
Graham 2 weeks ago
parent 8ef3ef0ba5
commit 8a7ca33aa4
  1. 6
      archive/src/main/kotlin/org/openrs2/archive/cache/CacheDownloader.kt

@ -14,6 +14,7 @@ import org.openrs2.net.awaitSuspend
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import kotlin.coroutines.resumeWithException
import kotlin.coroutines.suspendCoroutine
@Singleton
@ -119,6 +120,11 @@ public class CacheDownloader @Inject constructor(
bootstrap.handler(initializer)
.connect(hostname, PORT)
.addListener { future ->
if (!future.isSuccess) {
continuation.resumeWithException(future.cause())
}
}
}
} finally {
group.shutdownGracefully().awaitSuspend()

Loading…
Cancel
Save