38 references to WaitSubsystem
System.Private.CoreLib (38)
src\libraries\System.Private.CoreLib\src\Microsoft\Win32\SafeHandles\SafeWaitHandle.Unix.cs (1)
12
WaitSubsystem
.DeleteHandle(handle);
src\libraries\System.Private.CoreLib\src\System\IO\SharedMemoryManager.Unix.cs (2)
743
public
WaitSubsystem
.LockHolder AcquireCreationDeletionProcessLock()
745
return new
WaitSubsystem
.LockHolder(_creationDeletionProcessLock);
src\libraries\System.Private.CoreLib\src\System\Threading\EventWaitHandle.Unix.cs (5)
16
SafeWaitHandle =
WaitSubsystem
.NewEvent(initialState, mode);
34
SafeWaitHandle =
WaitSubsystem
.NewEvent(initialState, mode);
52
WaitSubsystem
.ResetEvent(waitHandle.DangerousGetHandle());
66
WaitSubsystem
.SetEvent(waitHandle.DangerousGetHandle());
80
WaitSubsystem
.SetEvent(waitHandle.DangerousGetHandle());
src\libraries\System.Private.CoreLib\src\System\Threading\LowLevelLifoSemaphore.Unix.cs (4)
15
private
WaitSubsystem
.WaitableObject _semaphore;
20
_semaphore =
WaitSubsystem
.WaitableObject.NewSemaphore(0, maximumSignalCount);
29
return
WaitSubsystem
.Wait(_semaphore, timeoutMs, false, true) == WaitHandle.WaitSuccess;
34
WaitSubsystem
.ReleaseSemaphore(_semaphore, count);
src\libraries\System.Private.CoreLib\src\System\Threading\Mutex.Unix.cs (5)
13
private void CreateMutexCore(bool initiallyOwned) => SafeWaitHandle =
WaitSubsystem
.NewMutex(initiallyOwned);
25
SafeWaitHandle? safeWaitHandle =
WaitSubsystem
.CreateNamedMutex(initiallyOwned, name, isUserScope: options.WasSpecified && options.CurrentUserOnly, out createdNew);
34
SafeWaitHandle =
WaitSubsystem
.NewMutex(initiallyOwned);
47
OpenExistingResult status =
WaitSubsystem
.OpenNamedMutex(name, isUserScope: options.WasSpecified && options.CurrentUserOnly, out SafeWaitHandle? safeWaitHandle);
81
WaitSubsystem
.ReleaseMutex(waitHandle.DangerousGetHandle());
src\libraries\System.Private.CoreLib\src\System\Threading\NamedMutex.Unix.cs (5)
47
WaitSubsystem
.LockHolder scope = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock();
99
public MutexTryAcquireLockResult TryAcquireLock(
WaitSubsystem
.ThreadWaitInfo waitInfo, int timeoutMilliseconds, ref
WaitSubsystem
.LockHolder holder)
146
WaitSubsystem
.LockHolder scope = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock();
210
WaitSubsystem
.LockHolder creationDeletionProcessLock = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock();
src\libraries\System.Private.CoreLib\src\System\Threading\Semaphore.Unix.cs (3)
16
SafeWaitHandle =
WaitSubsystem
.NewSemaphore(initialCount, maximumCount);
34
SafeWaitHandle =
WaitSubsystem
.NewSemaphore(initialCount, maximumCount);
60
return
WaitSubsystem
.ReleaseSemaphore(waitHandle.DangerousGetHandle(), releaseCount);
src\libraries\System.Private.CoreLib\src\System\Threading\Thread.Unix.cs (3)
41
private static void SleepInternal(int millisecondsTimeout) =>
WaitSubsystem
.Sleep(millisecondsTimeout);
68
return
WaitSubsystem
.Wait(waitHandle.DangerousGetHandle(), millisecondsTimeout, interruptible: false) == WaitHandle.WaitSuccess;
84
WaitSubsystem
.SetEvent(waitHandle.DangerousGetHandle());
src\libraries\System.Private.CoreLib\src\System\Threading\WaitHandle.Unix.cs (3)
11
WaitSubsystem
.Wait(handle, millisecondsTimeout, interruptible: !useTrivialWaits);
14
WaitSubsystem
.Wait(handles, waitAll, millisecondsTimeout);
17
WaitSubsystem
.SignalAndWait(handleToSignal, handleToWaitOn, millisecondsTimeout);
src\libraries\System.Private.CoreLib\src\System\Threading\WaitSubsystem.Unix.cs (1)
16
/// <see cref="
WaitSubsystem
"/>
src\libraries\System.Private.CoreLib\src\System\Threading\WaitSubsystem.WaitableObject.Unix.cs (1)
12
/// A synchronization object that can participate in <see cref="
WaitSubsystem
"/>'s wait operations.
src\System\Threading\Thread.CoreCLR.cs (5)
38
internal
WaitSubsystem
.ThreadWaitInfo? _waitInfo;
438
WaitSubsystem
.Interrupt(this);
555
internal
WaitSubsystem
.ThreadWaitInfo WaitInfo
561
WaitSubsystem
.ThreadWaitInfo AllocateWaitInfo()
563
Interlocked.CompareExchange(ref _waitInfo, new
WaitSubsystem
.ThreadWaitInfo(this), null!);