2 instantiations of ProcessWaitState
System.Diagnostics.Process (2)
System\Diagnostics\ProcessWaitState.Unix.cs (2)
113pws = new ProcessWaitState(processId, isChild: true, usesTerminal); 147pws = new ProcessWaitState(processId, isChild: false, usesTerminal: false, exitTime);
24 references to ProcessWaitState
System.Diagnostics.Process (24)
System\Diagnostics\Process.Unix.cs (5)
529_waitStateHolder = new ProcessWaitState.Holder(childPid, isNewChild: true, usesTerminal); 564private ProcessWaitState.Holder? _waitStateHolder; 948private ProcessWaitState GetWaitState() 953_waitStateHolder = new ProcessWaitState.Holder(_processId); 1104ProcessWaitState.CheckChildren(reapAll != 0, configureConsole != 0);
System\Diagnostics\ProcessWaitHandle.Unix.cs (1)
11internal ProcessWaitHandle(ProcessWaitState processWaitState)
System\Diagnostics\ProcessWaitState.Unix.cs (18)
55internal ProcessWaitState _state; 59_state = ProcessWaitState.AddRef(processId, isNewChild, usesTerminal); 86private static readonly Dictionary<int, ProcessWaitState> s_processWaitStates = 87new Dictionary<int, ProcessWaitState>(); 92private static readonly Dictionary<int, ProcessWaitState> s_childProcessWaitStates = 93new Dictionary<int, ProcessWaitState>(); 103internal static ProcessWaitState AddRef(int processId, bool isNewChild, bool usesTerminal) 107ProcessWaitState? pws; 163ProcessWaitState? pws; 164Dictionary<int, ProcessWaitState> waitStates = _isChild ? s_childProcessWaitStates : s_processWaitStates; 608if (s_childProcessWaitStates.TryGetValue(pid, out ProcessWaitState? pws)) 639ProcessWaitState? firstToRemove = null; 640List<ProcessWaitState>? additionalToRemove = null; 641foreach (KeyValuePair<int, ProcessWaitState> kv in s_childProcessWaitStates) 643ProcessWaitState pws = kv.Value; 652additionalToRemove ??= new List<ProcessWaitState>(); 663foreach (ProcessWaitState pws in additionalToRemove) 683if (s_childProcessWaitStates.TryGetValue(pid, out ProcessWaitState? pws))