[roll] Roll fuchsia [netstack3] Use wait groups for task joining In If00931a3d2bd24a646cd83080650288c285f7fb9 we removed all detaching tasks and placed their handles in FuturesUnordered. That significantly regressed the per-socket memory usage of the stack unnecessarily. All we need is to guarantee that all flows make sure the tasks they spawned have finished so we can have a clean shutdown in tests and ensure we have full control over when the final Ctx clone is dropped. Fix by introducing TaskWaitGroupSpawner and TaskWaitGroup. These effectively spawn and detach fuchsia_async::Tasks, but keep track of the number of spawned tasks to join on when the work is finished. The marginal per-socket cost should be much lower now. Also return the wait group from the socket provider tasks, so the task itself can be deallocated but we can still block a teardown on having all the sockets cleaned up. SocketWorker now provides scoped spawners, so accepted sockets that start in the connected state end up in the correct WaitGroup for correct shutdown behavior. Original-Fixed: 132649 Original-Bug: 132920 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/909498 Original-Revision: 1a0069948fa8520f0199a56d1057fdcebf5cba24 GitOrigin-RevId: ec1fcd1e6c0fd6590d602b4e9c9f6b0239dea946 Change-Id: Id38d47a0c0bad90e46b10f363c0bd63b6ea28751
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.