Fix unchecked runtime shutdown (#4575)
This commit is contained in:
committed by
Stanislav Erokhin
parent
b6497d07cf
commit
783517dbe8
@@ -0,0 +1,23 @@
|
||||
import leakMemory.*
|
||||
import kotlin.native.concurrent.*
|
||||
import kotlin.test.*
|
||||
import kotlinx.cinterop.*
|
||||
|
||||
val global = AtomicInt(0)
|
||||
|
||||
fun ensureInititalized() {
|
||||
kotlin.native.initRuntimeIfNeeded()
|
||||
// Leak memory
|
||||
StableRef.create(Any())
|
||||
global.value = 1
|
||||
}
|
||||
|
||||
fun main() {
|
||||
kotlin.native.internal.Debugging.forceCheckedShutdown = true
|
||||
assertTrue(global.value == 0)
|
||||
// Created a thread, made sure Kotlin is initialized there.
|
||||
test_RunInNewThread(staticCFunction(::ensureInititalized))
|
||||
assertTrue(global.value == 1)
|
||||
// Now exiting. With checked shutdown we will fail, complaining there're
|
||||
// unfinished threads with runtimes.
|
||||
}
|
||||
Reference in New Issue
Block a user