LSP shutdown waits until a fixed deadline, not a restartable timeout
Fixes the macOS failures of lsp::child_registry shutdown tests from #1147 (shutdown_exit_reports_unreaped_until_detached_owner_waits and the shutdown-deadline test), which now fail most macOS runs on main and several PRs.
Cause: after the scheduler paused a waiting thread, a relative timeout restarted its countdown, so shutdown_all could exceed its 1.5 s promise (CI measured ~1.68 s inside the call, 0.1 ms outside). The waits now target one absolute deadline. The promise and the test bounds are unchanged.
Verified on Linux: 379 LSP and shutdown library tests, formatting, and the Windows compile check.
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the macOS failures in the lsp::child_registry shutdown tests by making waits target a single absolute deadline instead of a relative timeout that restarted its countdown when a thread was paused, which let shutdown_all exceed its 1.5s budget.
- All shutdown waits now pass the absolute cutoff to
recv_deadline, so a paused thread doesn't get fresh timeout credit. - Shutdown tests assert fixed 1200/1500ms cutoffs and waitable-child ordering deterministically instead of relying on wall-clock slack that failed on loaded macOS runners.