aboutsummaryrefslogtreecommitdiff
path: root/kotlinx-coroutines-core/js/src/internal/Concurrent.kt
blob: 0a1b03104e060a3cd5ba09bb32337935dcde575f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
 */

package kotlinx.coroutines.internal

internal actual typealias ReentrantLock = NoOpLock

internal actual inline fun <T> ReentrantLock.withLock(action: () -> T) = action()

internal class NoOpLock {
    fun tryLock() = true
    fun unlock(): Unit {}
}

internal actual fun <E> subscriberList(): SubscribersList<E> = CopyOnWriteList()

internal actual fun <E> identitySet(expectedSize: Int): MutableSet<E> = HashSet(expectedSize)