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