1 package kotlinx.atomicfu.locks 2 3 import kotlinx.atomicfu.REENTRANT_LOCK 4 5 @Suppress("ACTUAL_CLASSIFIER_MUST_HAVE_THE_SAME_MEMBERS_AS_NON_FINAL_EXPECT_CLASSIFIER_WARNING") 6 public actual typealias SynchronizedObject = Any 7 8 @kotlinx.atomicfu.OptionalJsName(REENTRANT_LOCK) 9 public val Lock = ReentrantLock() 10 11 @Suppress("NOTHING_TO_INLINE") reentrantLocknull12public actual inline fun reentrantLock() = Lock 13 14 @Suppress("NOTHING_TO_INLINE") 15 public actual class ReentrantLock { 16 actual inline fun lock(): Unit {} 17 actual inline fun tryLock() = true 18 actual inline fun unlock(): Unit {} 19 } 20 withLocknull21public actual inline fun <T> ReentrantLock.withLock(block: () -> T) = block() 22 23 public actual inline fun <T> synchronized(lock: SynchronizedObject, block: () -> T): T = block() 24