package kotlin.concurrent; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; import kotlin.Metadata; import kotlin.internal.InlineOnly; import kotlin.jvm.JvmName; import kotlin.jvm.functions.Function0; import kotlin.jvm.internal.InlineMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.SourceDebugExtension; @Metadata(d1 = {"\u0000\u001a\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a6\u0010\u0000\u001a\u0002H\u0001\"\u0004\b\u0000\u0010\u0001*\u00020\u00022\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u0002H\u00010\u0004H\u0087\bø\u0001\u0000\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\u0005\u001a6\u0010\u0006\u001a\u0002H\u0001\"\u0004\b\u0000\u0010\u0001*\u00020\u00072\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u0002H\u00010\u0004H\u0087\bø\u0001\u0000\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\b\u001a6\u0010\t\u001a\u0002H\u0001\"\u0004\b\u0000\u0010\u0001*\u00020\u00022\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u0002H\u00010\u0004H\u0087\bø\u0001\u0000\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\u0005\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\n"}, d2 = {"read", "T", "Ljava/util/concurrent/locks/ReentrantReadWriteLock;", "action", "Lkotlin/Function0;", "(Ljava/util/concurrent/locks/ReentrantReadWriteLock;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "withLock", "Ljava/util/concurrent/locks/Lock;", "(Ljava/util/concurrent/locks/Lock;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "write", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48) @JvmName(name = "LocksKt") @SourceDebugExtension({"SMAP\nLocks.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Locks.kt\nkotlin/concurrent/LocksKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,74:1\n1#2:75\n*E\n"}) /* loaded from: classes3.dex */ public final class LocksKt { @InlineOnly private static final T read(ReentrantReadWriteLock reentrantReadWriteLock, Function0 action) { Intrinsics.checkNotNullParameter(reentrantReadWriteLock, ""); Intrinsics.checkNotNullParameter(action, "action"); ReentrantReadWriteLock.ReadLock readLock = reentrantReadWriteLock.readLock(); readLock.lock(); try { return action.invoke(); } finally { InlineMarker.finallyStart(1); readLock.unlock(); InlineMarker.finallyEnd(1); } } @InlineOnly private static final T withLock(Lock lock, Function0 action) { Intrinsics.checkNotNullParameter(lock, ""); Intrinsics.checkNotNullParameter(action, "action"); lock.lock(); try { return action.invoke(); } finally { InlineMarker.finallyStart(1); lock.unlock(); InlineMarker.finallyEnd(1); } } @InlineOnly private static final T write(ReentrantReadWriteLock reentrantReadWriteLock, Function0 action) { Intrinsics.checkNotNullParameter(reentrantReadWriteLock, ""); Intrinsics.checkNotNullParameter(action, "action"); ReentrantReadWriteLock.ReadLock readLock = reentrantReadWriteLock.readLock(); int i = 0; int readHoldCount = reentrantReadWriteLock.getWriteHoldCount() == 0 ? reentrantReadWriteLock.getReadHoldCount() : 0; for (int i4 = 0; i4 < readHoldCount; i4++) { readLock.unlock(); } ReentrantReadWriteLock.WriteLock writeLock = reentrantReadWriteLock.writeLock(); writeLock.lock(); try { return action.invoke(); } finally { InlineMarker.finallyStart(1); while (i < readHoldCount) { readLock.lock(); i++; } writeLock.unlock(); InlineMarker.finallyEnd(1); } } }