src\libraries\System.Private.CoreLib\src\System\Threading\NamedMutex.Unix.cs (30)
99public MutexTryAcquireLockResult TryAcquireLock(WaitSubsystem.ThreadWaitInfo waitInfo, int timeoutMilliseconds, ref WaitSubsystem.LockHolder holder)
103MutexTryAcquireLockResult result = AcquireLockCore(timeoutMilliseconds);
105if (result == MutexTryAcquireLockResult.AcquiredLockRecursively)
107return MutexTryAcquireLockResult.AcquiredLock;
110if (result == MutexTryAcquireLockResult.TimedOut)
127result = MutexTryAcquireLockResult.AcquiredLockButMutexWasAbandoned;
202protected abstract MutexTryAcquireLockResult AcquireLockCore(int timeoutMilliseconds);
249MutexTryAcquireLockResult acquireResult = processDataHeader._processData.TryAcquireLock(Thread.CurrentThread.WaitInfo, timeoutMilliseconds: 0, ref creationDeletionProcessLock);
250Debug.Assert(acquireResult == MutexTryAcquireLockResult.AcquiredLock);
318protected override MutexTryAcquireLockResult AcquireLockCore(int timeoutMilliseconds)
322MutexTryAcquireLockResult result = lockResult switch
324Interop.Error.SUCCESS => MutexTryAcquireLockResult.AcquiredLock,
325Interop.Error.EBUSY => MutexTryAcquireLockResult.TimedOut,
326Interop.Error.ETIMEDOUT => MutexTryAcquireLockResult.TimedOut,
327Interop.Error.EOWNERDEAD => MutexTryAcquireLockResult.AcquiredLockButMutexWasAbandoned,
332if (result == MutexTryAcquireLockResult.TimedOut)
334return MutexTryAcquireLockResult.TimedOut;
337if (result == MutexTryAcquireLockResult.AcquiredLockButMutexWasAbandoned)
356return MutexTryAcquireLockResult.AcquiredLockRecursively;
474protected override unsafe MutexTryAcquireLockResult AcquireLockCore(int timeoutMilliseconds)
489return MutexTryAcquireLockResult.TimedOut;
508return MutexTryAcquireLockResult.AcquiredLockRecursively;
536return MutexTryAcquireLockResult.TimedOut;
554return MutexTryAcquireLockResult.TimedOut;
569return MutexTryAcquireLockResult.AcquiredLockButMutexWasAbandoned;
571return MutexTryAcquireLockResult.AcquiredLock;
654MutexTryAcquireLockResult result = _processDataHeader._processData!.TryAcquireLock(waitInfo, timeoutMilliseconds, ref scope);
657MutexTryAcquireLockResult.AcquiredLock => WaitHandle.WaitSuccess,
658MutexTryAcquireLockResult.AcquiredLockButMutexWasAbandoned => WaitHandle.WaitAbandoned,
659MutexTryAcquireLockResult.TimedOut => WaitHandle.WaitTimeout,