You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix CLI Ctrl+C/SIGTERM shutdown: responsive cancellation and double-signal bug (#17588)
* Fix CLI Ctrl+C shutdown taking too long during AppHost startup
- Make ConsoleCancellationManager.Cancel() non-blocking so Ctrl+C handler
returns immediately
- Pass cancellation token through to WaitAsync in CancelAppHostStartupAsync
so Ctrl+C exits promptly instead of waiting for the full 5s timeout
- Support second Ctrl+C for immediate force exit (Environment.Exit)
- Add logging support to ConsoleCancellationManager via SetLogger()
- Add comprehensive unit tests for ConsoleCancellationManager
- Add integration test for RunCommand cancellation during startup timeout
Fixes#17569
* Fix review comments: volatile logger, accurate comments, clearer warning
* Clean up
* Use WaitForSuccessPromptFailFastAsync in CLI E2E tests
Replace WaitForSuccessPromptAsync with WaitForSuccessPromptFailFastAsync
across all CLI E2E tests. The fail-fast variant detects error prompts
immediately and throws instead of hanging for up to 500s waiting for a
success prompt that will never arrive. This prevents 10+ minute CI
timeouts when a command fails with a non-zero exit code.
* Fix double-signal bug and consolidate test helpers
- Fix ConsoleCancellationManager double-signal bug: move Console.CancelKeyPress
to else branch so it only registers on platforms without PosixSignalRegistration.
Previously both handlers fired for the same SIGINT, causing immediate force-kill.
- Add SIGQUIT/Ctrl+Break registration for Windows parity.
- Remove old WaitForSuccessPromptAsync (no fail-fast) and rename
WaitForSuccessPromptFailFastAsync to WaitForSuccessPromptAsync.
- Remove duplicate RunCommandFailFastAsync (identical to RunCommandAsync).
* Fix stale comment and restrict SIGQUIT to Windows only
* Remove unused legacy builder methods and update E2E skill docs
* Don't force when debugging
* More logging
0 commit comments