Repository navigation
fix(config): close temporary descriptor when writer setup fails - #733
Open
workstonedai-collab wants to merge 1 commit into
Open
workstonedai-collab wants to merge 1 commit into
workstonedai-collab wants to merge 1 commit into
Conversation
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
mkstempdescriptor when permission or stream initialization fails.fdopen.in-memory rollback, temporary-path cleanup, and descriptor closure.
The successful atomic-write path and configuration format remain unchanged.
This is separate from the directory-permission work in
PR #687.
Evidence
Baseline
a19a171fa980a0785849596492e0af4db800c82f: both new cases fail becausethe descriptor is still open. With this patch, the same cases pass.
Testing
Results: 609 tests pass in the full suite; whole-project Ruff checks and mypy
checks pass (36 source modules); whitespace check passes.
The two touched files retain pre-existing Ruff formatter differences; comparison
with the baseline confirms the patch adds no extra formatter differences.
Whole-project test, lint and typing gates passed locally. Upstream CI is pending.
Scope and data
Only upstream configuration writer code and synthetic tests are included.
No product code, user configuration, API credentials, or operational logs are part
of this patch. No issue number is claimed as closed until an upstream report exists.