synchronized

inline fun <T> ConditionLock.synchronized(block: () -> T): T