[roll] Roll fuchsia [netstack] Synchronize terminal error

This approximately reverts 178d5e8 with stricter semantics.

Compared to the original state, we now ensure that terminal errors can
only be set once and never overwritten, and are only yielded out once.
Somewhat significant bookkeeping is introduced to facilitate this.

Compared to the previous state, we now synchronize access to the
terminal error to avoid races between the error being read from the
endpoint (i.e. in loop{Read,Write}, Connect, or GetError) and the error
being written to the terminal error slot.

Multiply: pkg-resolver-integration-tests#meta/metrics.cmx
Multiply: netstack_bsdsocket_c_api_test
Multiply: netstack_bsdsocket_c_api_legacy_sockopt_fidl_test
Original-Bug: 75930, 76353
Original-Fixed: 76258, 76307, 76320
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/527000
Original-Revision: fe4b0b50c615d88fedd1d08ff1f49942c40edb24
GitOrigin-RevId: ebc724a497e6a09b0e7477adec72fa6e63f17ed1
Change-Id: I580a662317e305458e06c510a0843af7e2783a09
1 file changed
tree: 67e61ec492f7d928297819c4c9f0bdf68568228a
  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.