Repository navigation
Conversation
Serialize Unix socket probing, stale-socket cleanup, and bind with a persistent owner-only lock. Preserve live and unsafe socket paths. Closes mozilla#2906. Prepared with Codex assistance; no human review is claimed.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2920 +/- ##
==========================================
+ Coverage 78.13% 78.14% +0.01%
==========================================
Files 74 74
Lines 43570 43628 +58
==========================================
+ Hits 34043 34093 +50
- Misses 9527 9535 +8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Apply the repository rustfmt output to the existing Unix socket startup fix. Prepared with Codex assistance; no human review is claimed. Signed-off-by: NUAAwqy <146524024+NUAAwqy@users.noreply.github.com> Co-Authored-By: Codex <noreply@openai.com>
Prepared with Codex assistance; no human review is claimed.
matthewsoto1216
approved these changes
Oct 21, 2026
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.
When multiple clients automatically start sccache with the same private Unix socket, each child currently removes the socket before binding. Concurrent starters can unlink a live listener or race into
File exists (os error 17).This change serializes Unix socket probing, stale-socket cleanup, and bind with a persistent 0600 sibling lock. It reports a live listener as
AddrInUse, reclaims only a current-user-owned stale socket, and leaves regular or uncertain paths intact. TCP and abstract Unix sockets are unchanged.Closes #2906.
Validation on Linux against upstream
mainatd72ff0bb07ca3be71000e0922a3ef80b21d51403:cargo test --locked --lib --bins --tests: 583 passed, 0 failed, 1 ignored.cargo clippy --locked --all-targetspasses with the repository's existing removed/renamed-lint and async-trait compatibility exceptions;git diff --checkpasses.cargo fmt -- --checkreports only the pre-existingstart_serverclosure formatting difference from this checkout's rustfmt; the changed lines are formatted. Release build validation is unavailable here because the server's GCC 9.4 fails theaws-lc-syscompiler safety check.Prepared with Codex assistance; no human review is claimed.
Follow-up: the repository rustfmt failure was reproduced locally in
start_serverand fixed by applying rustfmt's closure formatting;cargo fmt -- --checknow passes.