Conversation
Use an explicit standard-handle inheritance list for daemon startup and the Windows update helper. Require and verify breakaway before resuming a background daemon, with an actionable error for restrictive host Jobs. Share direct startup and its readiness deadline across explicit and automatic entry points, retain child ownership through startup, and reap Unix children after handoff. Add native Windows EOF, Job lifetime, concurrency and failure regressions to CI, and document persistent host setup. Refs #268
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Windows background startup can leave captured stdout/stderr open after the launcher exits, and the daemon can die when the host cleans up its Job Object. This change separates pipe ownership from daemon lifetime and refuses background startup when the host cannot release the daemon.
Validation completed before committing:
cargo fmt --all -- --check,cargo clippy --workspace --all-targets --locked -- -D warnings, andcargo test --workspace --lockedall passed, including the new Unix child-reaping test.Local coverage limit: the default-port automatic-start success case was skipped because port 52800 belongs to an existing developer daemon. That process was left running. The new Windows CI step requires the port to be free and executes this case; random-port explicit startup and automatic-start refusal paths were exercised locally.
Addresses the Windows pipe and Job lifetime failures in #268. Query commands retain their existing automatic-start defaults;
BSK_AUTO_START=0remains the opt-out for probes. Changing query defaults is outside this change.