Fix race condition in dup2 when duplicating to same fd #60
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
dup2(fd, fd)should returnfdimmediately without modifying anythingclose_read()/close_write()and thenadd_reader()/add_writer()in separate operations, temporarily setting the pipe reference count to zeroreaders == 0and incorrectly return EPIPEold_fd == new_fdto avoid this raceTest plan
dup2(fd, fd)returns immediately without affecting pipe state🤖 Generated with Claude Code