package net.sergeych.synctools import java.util.concurrent.locks.ReentrantLock /** * Get the platform-depended implementation of a mutex-protected operation. * JVM version uses a concealed object synchronization pattern (per-object monitor lock) */ actual fun ProtectedOp(): ProtectedOpImplementation = object : ProtectedOpImplementation { private val access = ReentrantLock() override fun lock() { access.lock() } override fun unlock() { access.unlock() } }