Repository navigation
Conversation
Replace machine-wide Toolhelp enumeration with process-scoped PSS thread snapshots. Verify the opened thread handle's owner before resume while preserving suspended startup and private kill-on-close Job ownership. Add Windows ownership, failure-path and lifecycle regressions and document the startup guarantees. Refresh generated Bazel metadata for the Windows feature declarations and already-locked SDK development dependencies without changing versions or pins. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 64381057-4f81-414b-b1e0-33f4d1cde243
| } | ||
| } | ||
| Err(error) if error.kind() == io::ErrorKind::NotFound => {} | ||
| Err(error) => panic!("read fixture PID: {error}"), |
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.
Summary
Replace the Rust SDK's machine-wide Toolhelp thread scan with a process-scoped PSS thread snapshot for managed Windows stdio and TCP CLI launches. Verify the successfully opened thread handle's owning process before resuming it, protecting against stale or reused thread IDs.
Preserve suspended process creation, private per-client kill-on-close Jobs, assignment before execution, initial-thread resume, cancellation and descendant cleanup. Snapshot and walk-marker resources use their documented freeing APIs, and capture/walk/open/query/resume failures propagate while the suspended root is terminated. No public API, launch flags, deadlines or CLI pins change.
Add private ownership/error-path regressions and public-client fixtures for both transports, cancelled startup, descendant cleanup, final-clone/private-Job isolation and abrupt host termination. Update the Windows startup documentation.
Refresh generated Rust Bazel metadata for the Windows feature declarations and already-locked development dependencies. Regeneration also brings stale AHP/HPKE/rand_core development-dependency metadata up to date; dependency versions and lockfiles are unchanged.
Validation
Compiled SDK seam measurement
Same SDK base (
341a526b), Rust 1.94.0, debug profile, runtime/test-support features and owned exit-onlycmd.exefixture. Alternate the instrumented Toolhelp and PSS helpers, with one warmup batch and six measured batches per arm and worker count. The regression reaps its child before emitting the phase measurement; all 42 children including warmups were reaped.Toolhelp inspected 8,157-8,261 entries; PSS inspected one. Percentiles use nearest rank. These are small-sample measurements on a shared Windows machine, not CLI handshake or inference measurements. OS spawn outliers remain, and the measurements do not establish a startup timeout's cause.