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