Forbid suspension points in critical sections
#KT-26480: Fixed
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
private val lock = Any()
|
||||
|
||||
suspend fun suspensionPoint() {}
|
||||
|
||||
fun test() {
|
||||
builder {
|
||||
synchronized(lock) {
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
inlineMe {
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
monitorInFinally(
|
||||
{ suspensionPoint() },
|
||||
{ suspensionPoint() }
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user