[roll] Roll fuchsia [fdio] Fix fd leak, remove gotos in spawn.cc The use of gotos in spawn.cc forces one to define their variables (including clients) at the beginning of a function, which makes the code harder to follow. In shaving a yak from stabilizing the LLCPP fidl::WireSyncClient API I've found it easier to refactor the spawn.cc code to git rid of the goto usage. To do this, we introduce two RAII types that wrap the spawn actions: - SpawnActions: a RAII type that lets you look at each individual action (used to calculate handle and name capacity). - SpawnActions::ConsumingIterator: a RAII type that lets you consume the resources in each action (used to convert the spawn actions into FIDL data structures to make calls to Launcher). It turns out that we are not closing file descriptors in some failure cases (see [1]). This was fixed using the RAII types which free resources consistently, and a test was added. [1]: https://cs.opensource.google/fuchsia/fuchsia/+/c4984c67244e4008ecc32ca8dfb765294c7de06c:sdk/lib/fdio/spawn.cc;l=911 Test: fx test -v //sdk/lib/fdio/tests //sdk/cts/tests/pkg/fdio Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/595395 Original-Revision: 2f327576c905b86661d406334395f54f7e860b32 GitOrigin-RevId: 9c0a54e1413feff0b5fedfcdac2fa08a6da7f08c Change-Id: Ieaab226f251895b310712c39a3907d5dd88aaf3d
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.