blob: c4f3d7f3ad33ea761671f9ad68a4940e13a9e4f2 [file] [log] [blame]
Roman Elizarov1f74a2d2018-06-29 19:19:45 +03001/*
2 * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3 */
4
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +03005package kotlinx.coroutines.experimental.internal
6
Roman Elizarov11d6b5b2018-04-26 10:11:50 +03007internal actual typealias ReentrantLock = NoOpLock
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +03008
Roman Elizarov11d6b5b2018-04-26 10:11:50 +03009internal actual inline fun <T> ReentrantLock.withLock(action: () -> T) = action()
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +030010
Roman Elizarov11d6b5b2018-04-26 10:11:50 +030011internal class NoOpLock {
Vsevolod Tolstopyatov96191342018-04-20 18:13:33 +030012 fun tryLock() = true
13 fun unlock(): Unit {}
14}
15
Vsevolod Tolstopyatov167ca632018-06-29 11:49:00 +030016internal actual fun <E> subscriberList(): SubscribersList<E> = CopyOnWriteList()