| /* |
| * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| |
| package kotlinx.coroutines.exceptions |
| |
| import kotlin.random.* |
| |
| actual fun randomWait() { |
| val n = Random.nextInt(1000) |
| if (n < 500) return // no wait 50% of time |
| repeat(n) { |
| BlackHole.sink *= 3 |
| } |
| if (n > 900) Thread.yield() |
| } |
| |
| private object BlackHole { |
| @Volatile |
| var sink = 1 |
| } |
| |
| @Suppress("ACTUAL_WITHOUT_EXPECT") |
| internal actual typealias SuppressSupportingThrowable = Throwable |
| |
| @Suppress("EXTENSION_SHADOWED_BY_MEMBER") |
| actual fun Throwable.printStackTrace() = printStackTrace() |
| |
| actual fun currentThreadName(): String = Thread.currentThread().name |