Safer blocking calls

This commit is contained in:
Robinson 2021-07-02 16:18:40 +02:00
parent cf00451465
commit b3f1ecf368

View File

@ -21,6 +21,7 @@ import dorkbox.network.Server
import dorkbox.network.connection.Connection import dorkbox.network.connection.Connection
import dorkbox.network.serialization.Serialization import dorkbox.network.serialization.Serialization
import dorkboxTest.network.BaseTest import dorkboxTest.network.BaseTest
import kotlinx.coroutines.runBlocking
import org.junit.Test import org.junit.Test
import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.atomic.AtomicInteger
@ -85,13 +86,16 @@ class RmiDelayedInvocationTest : BaseTest() {
// sometimes, this method is never called right away. // sometimes, this method is never called right away.
remoteObject.setOther(i.toFloat()) remoteObject.setOther(i.toFloat())
synchronized(iterateLock) {
try { runBlocking {
(iterateLock as Object).wait(1) synchronized(iterateLock) {
} catch (e: InterruptedException) { try {
logger.error("Failed after: $i") (iterateLock as Object).wait(1)
e.printStackTrace() } catch (e: InterruptedException) {
abort = true logger.error("Failed after: $i")
e.printStackTrace()
abort = true
}
} }
} }
} }