2 instantiations of ProcessWaitState
System.Diagnostics.Process (2)
System\Diagnostics\ProcessWaitState.Unix.cs (2)
117pws = new ProcessWaitState(processId, isChild: true, usesTerminal); 151pws = new ProcessWaitState(processId, isChild: false, usesTerminal: false, exitTime);
38 references to ProcessWaitState
System.Diagnostics.Process (38)
Microsoft\Win32\SafeHandles\SafeProcessHandle.Unix.cs (12)
31private readonly ProcessWaitState.Holder? _waitStateHolder; 33internal SafeProcessHandle(ProcessWaitState.Holder waitStateHolder) : base(ownsHandle: true) 110ProcessWaitState waitState = GetWaitState(); 118ProcessWaitState waitState = GetWaitState(); 131ProcessWaitState waitState = GetWaitState(); 145private ProcessWaitState GetWaitState() 162private static ProcessExitStatus GetExitStatus(ProcessWaitState waitState) 171private delegate SafeProcessHandle StartWithShellExecuteDelegate(ProcessStartInfo startInfo, SafeFileHandle? stdinHandle, SafeFileHandle? stdoutHandle, SafeFileHandle? stderrHandle, out ProcessWaitState.Holder? waitStateHolder); 178SafeFileHandle? stderrHandle, SafeHandle[]? inheritedHandles, out ProcessWaitState.Holder? waitStateHolder) 222SafeFileHandle? stderrHandle, out ProcessWaitState.Holder? waitStateHolder) 298bool usesTerminal, SafeHandle[]? inheritedHandles, out ProcessWaitState.Holder? waitStateHolder, bool throwOnNoExec = true) 341waitStateHolder = new ProcessWaitState.Holder(childPid, isNewChild: true, usesTerminal);
System\Diagnostics\Process.Unix.cs (4)
363SafeProcessHandle startedProcess = SafeProcessHandle.StartCore(startInfo, stdinHandle, stdoutHandle, stderrHandle, inheritedHandles, out ProcessWaitState.Holder? waitStateHolder); 374private ProcessWaitState.Holder? _waitStateHolder; 417private ProcessWaitState GetWaitState() 422_waitStateHolder = new ProcessWaitState.Holder(_processId);
System\Diagnostics\ProcessUtils.Unix.cs (1)
275ProcessWaitState.CheckChildren(reapAll != 0, configureConsole != 0);
System\Diagnostics\ProcessWaitHandle.Unix.cs (1)
11internal ProcessWaitHandle(ProcessWaitState processWaitState)
System\Diagnostics\ProcessWaitState.Unix.cs (20)
55internal ProcessWaitState _state; 59_state = ProcessWaitState.AddRef(processId, isNewChild, usesTerminal); 62private Holder(ProcessWaitState source) => _state = source; 90private static readonly Dictionary<int, ProcessWaitState> s_processWaitStates = 91new Dictionary<int, ProcessWaitState>(); 96private static readonly Dictionary<int, ProcessWaitState> s_childProcessWaitStates = 97new Dictionary<int, ProcessWaitState>(); 107internal static ProcessWaitState AddRef(int processId, bool isNewChild, bool usesTerminal) 111ProcessWaitState? pws; 164Dictionary<int, ProcessWaitState> waitStates = _isChild ? s_childProcessWaitStates : s_processWaitStates; 177ProcessWaitState? pws; 178Dictionary<int, ProcessWaitState> waitStates = _isChild ? s_childProcessWaitStates : s_processWaitStates; 625if (s_childProcessWaitStates.TryGetValue(pid, out ProcessWaitState? pws)) 656ProcessWaitState? firstToRemove = null; 657List<ProcessWaitState>? additionalToRemove = null; 658foreach (KeyValuePair<int, ProcessWaitState> kv in s_childProcessWaitStates) 660ProcessWaitState pws = kv.Value; 669additionalToRemove ??= new List<ProcessWaitState>(); 680foreach (ProcessWaitState pws in additionalToRemove) 701if (s_childProcessWaitStates.TryGetValue(pid, out ProcessWaitState? pws))