[roll] Roll fuchsia [fdio] Provide fdio_fd_transfer_or_clone()

FDIO previously provided APIs to clone an FD to obtain a new
kernel handle referring to the same underlying resource, or to
"unwrap" an FD to obtain the existing handle, but only if the FD
was not sharing it with other FDs in the process.

In some use-cases it is desirable to be able to transfer an FD
that is unshared, and to otherwise clone it. This was not possible
for callers to implement, given that fdio_fd_transfer() consumes
the FD on failure.

Provide an fdio_fd_transfer_or_clone() API to express the intent
to obtain a handle from an FD efficiently, whether by unwrapping
or cloning it.

Original-Bug: 85712
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/589644
Original-Revision: c0f79e3bc56fc78db2625ab8fa5c9bd9cb181021
GitOrigin-RevId: 68db63296127cce4427cf4c23500a3444d0efb81
Change-Id: I221cf40d7431082d80aa211ac65ee5ff5e09adfe
1 file changed
tree: ba2078cdeaca9278d235e8ae997ee370e67c445b
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. firmware
  8. flower
  9. jiri.lock
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.