1 write to _options
Aspire.Dashboard (1)
src\Shared\ChildProcess.cs (1)
54_options = options;
36 references to _options
Aspire.Dashboard (36)
src\Shared\ChildProcess.cs (36)
122if (_options.Lifetime == ChildProcessLifetime.OwnedTree) 124_completionPath = _options.CompletionPath; 130startInfo = _options.CreateSupervisorStartInfo(_startInfo, _completionPath, _options.TerminationTimeout); 140if (_options.Detached) 168if (!_options.Detached && (startInfo.RedirectStandardOutput || startInfo.RedirectStandardError)) 328if (_options.RequestGracefulShutdownAsync is { } requestShutdown 329&& _options.BeginGracefulShutdown?.Invoke() is { } gracefulToken) 337_options.TerminationTimeout, _options.TimeProvider, CancellationToken.None).ConfigureAwait(false); 368&& _options.Lifetime == ChildProcessLifetime.AppHost 369&& !_options.KillEntireProcessTreeOnCancel; 372_options.TerminationTimeout, _options.TimeProvider, CancellationToken.None).ConfigureAwait(false); 380await signalTask.WaitAsync(_options.TerminationTimeout, _options.TimeProvider, CancellationToken.None).ConfigureAwait(false); 385FileName, _processId, _options.TerminationTimeout); 433await process.WaitForExitAsync().WaitAsync(_options.TerminationTimeout, _options.TimeProvider).ConfigureAwait(false); 437using var deadline = new CancellationTokenSource(_options.TerminationTimeout, _options.TimeProvider); 442await Task.Delay(TimeSpan.FromMilliseconds(25), _options.TimeProvider, deadline.Token).ConfigureAwait(false); 447throw new TimeoutException($"Process group {_processId} still exists after cleanup timeout {_options.TerminationTimeout}.", ex); 454FileName, _processId, _options.TerminationTimeout); 505var entireProcessTree = _options.KillEntireProcessTreeOnCancel; 578if (_options.Lifetime == ChildProcessLifetime.OwnedTree && !process.HasExited) 588await process.WaitForExitAsync().WaitAsync(_options.TerminationTimeout, _options.TimeProvider).ConfigureAwait(false); 593FileName, _processId, _options.TerminationTimeout); 619_options.StandardOutputCallback?.Invoke(line); 632_options.StandardErrorCallback?.Invoke(line); 664if (_options.TimeProvider.GetElapsedTime(Interlocked.Read(ref _lastActivityTimestamp)) >= _options.OutputDrainIdleTimeout) 667FileName, _processId, _options.OutputDrainIdleTimeout); 674await drained.WaitAsync(s_drainPollInterval, _options.TimeProvider, cancellationToken).ConfigureAwait(false); 691private void RecordActivity() => Interlocked.Exchange(ref _lastActivityTimestamp, _options.TimeProvider.GetTimestamp());