blob: 0422d2b0c9351470c5e941f9079f6fc962018471 [file] [log] [blame]
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +03001package kotlinx.coroutines.experimental.internal
2
3import java.util.concurrent.*
4import kotlin.concurrent.withLock as withLockJvm
5
Roman Elizarov11d6b5b2018-04-26 10:11:50 +03006internal actual fun <E> subscriberList(): MutableList<E> = CopyOnWriteArrayList<E>()
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +03007
Roman Elizarov11d6b5b2018-04-26 10:11:50 +03008@Suppress("ACTUAL_WITHOUT_EXPECT")
9internal actual typealias ReentrantLock = java.util.concurrent.locks.ReentrantLock
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +030010
Roman Elizarov11d6b5b2018-04-26 10:11:50 +030011internal actual inline fun <T> ReentrantLock.withLock(action: () -> T) = this.withLockJvm(action)