All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonTest.EmptyContext.kt Maven / Gradle / Ivy

There is a newer version: 1.9.0
Show newest version
/*
 * Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
 */

package kotlinx.coroutines

import kotlinx.coroutines.intrinsics.*
import kotlin.coroutines.*

suspend fun  withEmptyContext(block: suspend () -> T): T {
    val baseline = Result.failure(IllegalStateException("Block was suspended"))
    var result: Result = baseline
    block.startCoroutineUnintercepted(Continuation(EmptyCoroutineContext) { result = it })
    while (result == baseline) yield()
    return result.getOrThrow()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy