Create a UniqueFd counterpart to SharedFD - #3001
Merged
Merged
Conversation
Duplicates most of the static methods of `SharedFD`, leaving out: - Functions with complex return types like output SharedFD*s or pairs - Functions relying on shared_buf.h Bug: b/545278508
Adds constructor and assignment operators to transparently convert UniqueFd instances to SharedFD instances, similar to the conversions supported from std::unique_ptr to std::shared_ptr. Bug: b/545278508
jemoreira
reviewed
Aug 11, 2026
jemoreira
left a comment
Member
There was a problem hiding this comment.
What do you plan to do with functions that currently accept a SharedFD by value but don't really care whether it's a SharedFD or UniqueFD?
Have you considered adding a BaseFD class with private constructors/factory methods to be the parent of those two? That would allow code that doesn't care about the fd type to just borrow BaseFD&, and code that cares to use one of the specialized classes to share ownership of the fd with SharedFD or take ownership of it with UniqueFD.
Member
Author
|
In my opinion code that would accept a |
jemoreira
approved these changes
Aug 11, 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.
Sometimes the machinery of std::shared_ptr is not necessary, and the semantics of std::unique_ptr are simpler.
Bug: b/545278508