Restore runtimeState value in deinitRuntime (#4587)

This commit is contained in:
Alexander Shabalin
2020-12-10 09:52:31 +03:00
committed by Stanislav Erokhin
parent 639029f47e
commit c582612bd7
6 changed files with 76 additions and 3 deletions
@@ -0,0 +1,18 @@
import objclib.*
import kotlin.native.concurrent.*
import kotlinx.cinterop.*
fun main() {
val worker = Worker.start()
worker.execute(TransferMode.SAFE, {}) {
val withFinalizer = WithFinalizer()
val finalizer: Finalizer = staticCFunction { ptr: COpaquePointer? ->
ptr?.asStableRef<Any>()?.dispose()
println("Executed finalizer")
}
val arg = StableRef.create(Any()).asCPointer()
withFinalizer.setFinalizer(finalizer, arg)
}.result
worker.requestTermination().result
waitWorkerTermination(worker)
}