33 references to WaitSubsystem
System.Private.CoreLib (33)
src\runtime\src\libraries\System.Private.CoreLib\src\Microsoft\Win32\SafeHandles\SafeWaitHandle.Unix.cs (1)
12WaitSubsystem.DeleteHandle(handle);
src\runtime\src\libraries\System.Private.CoreLib\src\System\IO\SharedMemoryManager.Unix.cs (2)
803public WaitSubsystem.LockHolder AcquireCreationDeletionProcessLock() 805return new WaitSubsystem.LockHolder(_creationDeletionProcessLock);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\EventWaitHandle.Unix.cs (5)
16SafeWaitHandle = WaitSubsystem.NewEvent(initialState, mode); 34SafeWaitHandle = WaitSubsystem.NewEvent(initialState, mode); 52WaitSubsystem.ResetEvent(waitHandle.DangerousGetHandle()); 66WaitSubsystem.SetEvent(waitHandle.DangerousGetHandle()); 80WaitSubsystem.SetEvent(waitHandle.DangerousGetHandle());
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Mutex.Unix.cs (5)
13private void CreateMutexCore(bool initiallyOwned) => SafeWaitHandle = WaitSubsystem.NewMutex(initiallyOwned); 25SafeWaitHandle? safeWaitHandle = WaitSubsystem.CreateNamedMutex(initiallyOwned, name, isUserScope: options.WasSpecified && options.CurrentUserOnly, out createdNew); 34SafeWaitHandle = WaitSubsystem.NewMutex(initiallyOwned); 47OpenExistingResult status = WaitSubsystem.OpenNamedMutex(name, isUserScope: options.WasSpecified && options.CurrentUserOnly, out SafeWaitHandle? safeWaitHandle); 81WaitSubsystem.ReleaseMutex(waitHandle.DangerousGetHandle());
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\NamedMutex.Unix.cs (5)
48WaitSubsystem.LockHolder scope = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock(); 101public MutexTryAcquireLockResult TryAcquireLock(WaitSubsystem.ThreadWaitInfo waitInfo, int timeoutMilliseconds, ref WaitSubsystem.LockHolder holder) 148WaitSubsystem.LockHolder scope = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock(); 212WaitSubsystem.LockHolder creationDeletionProcessLock = SharedMemoryManager<NamedMutexProcessDataBase>.Instance.AcquireCreationDeletionProcessLock();
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Semaphore.Unix.cs (3)
16SafeWaitHandle = WaitSubsystem.NewSemaphore(initialCount, maximumCount); 34SafeWaitHandle = WaitSubsystem.NewSemaphore(initialCount, maximumCount); 60return WaitSubsystem.ReleaseSemaphore(waitHandle.DangerousGetHandle(), releaseCount);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.Unix.cs (3)
41private static void SleepInternal(int millisecondsTimeout) => WaitSubsystem.Sleep(millisecondsTimeout); 68return WaitSubsystem.Wait(waitHandle.DangerousGetHandle(), millisecondsTimeout, interruptible: false) == WaitHandle.WaitSuccess; 84WaitSubsystem.SetEvent(waitHandle.DangerousGetHandle());
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\WaitHandle.Unix.cs (3)
11WaitSubsystem.Wait(handle, millisecondsTimeout, interruptible: !useTrivialWaits); 14WaitSubsystem.Wait(handles, waitAll, millisecondsTimeout); 17WaitSubsystem.SignalAndWait(handleToSignal, handleToWaitOn, millisecondsTimeout);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\WaitSubsystem.Unix.cs (1)
16/// <see cref="WaitSubsystem"/>
src\runtime\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.
System\Threading\Thread.NativeAot.Unix.cs (4)
19private WaitSubsystem.ThreadWaitInfo _waitInfo; 21internal WaitSubsystem.ThreadWaitInfo WaitInfo => _waitInfo; 25_waitInfo = new WaitSubsystem.ThreadWaitInfo(this); 119public void Interrupt() => WaitSubsystem.Interrupt(this);