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);
43 references to ProcessWaitState
System.Diagnostics.Process (43)
Microsoft\Win32\SafeHandles\SafeProcessHandle.Unix.cs (15)
30private readonly ProcessWaitState.Holder? _waitStateHolder; 31internal SafeProcessHandle(ProcessWaitState.Holder waitStateHolder) : base(ownsHandle: true) 101ProcessWaitState.Holder waitStateHolder = new(processId); 141ProcessWaitState waitState = GetWaitState(); 149ProcessWaitState waitState = GetWaitState(); 162ProcessWaitState waitState = GetWaitState(); 176private ProcessWaitState GetWaitState() 193private static ProcessExitStatus GetExitStatus(ProcessWaitState waitState) 202private delegate SafeProcessHandle StartWithShellExecuteDelegate(ProcessStartInfo startInfo, SafeFileHandle? stdinHandle, SafeFileHandle? stdoutHandle, SafeFileHandle? stderrHandle, out ProcessWaitState.Holder? waitStateHolder); 209SafeFileHandle? stderrHandle, SafeHandle[]? inheritedHandles, out ProcessWaitState.Holder? waitStateHolder) 247Func<UnixProcessStartArguments, int> callback, out ProcessWaitState.Holder? waitStateHolder) 315waitStateHolder = new ProcessWaitState.Holder(processId, isNewChild: true, usesTerminal); 357SafeFileHandle? stderrHandle, out ProcessWaitState.Holder? waitStateHolder) 433bool usesTerminal, SafeHandle[]? inheritedHandles, out ProcessWaitState.Holder? waitStateHolder, bool throwOnNoExec = true) 474waitStateHolder = new ProcessWaitState.Holder(childPid, isNewChild: true, usesTerminal);
System\Diagnostics\Process.Unix.cs (6)
363SafeProcessHandle startedProcess = SafeProcessHandle.StartCore(startInfo, stdinHandle, stdoutHandle, stderrHandle, inheritedHandles, out ProcessWaitState.Holder? waitStateHolder); 369SafeProcessHandle startedProcess = SafeProcessHandle.StartWithCallback(startInfo, stdinHandle, stdoutHandle, stderrHandle, callback, out ProcessWaitState.Holder? waitStateHolder); 373private bool SetProcessHandle(SafeProcessHandle startedProcess, ProcessWaitState.Holder waitStateHolder) 386private ProcessWaitState.Holder? _waitStateHolder; 429private ProcessWaitState GetWaitState() 434_waitStateHolder = new ProcessWaitState.Holder(_processId);
System\Diagnostics\ProcessUtils.Unix.cs (1)
217ProcessWaitState.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))