[roll] Roll fuchsia [netstack3] Hold scope guard for ReferenceReceiver

ReferenceNotifier panics if the corresponding receiver is dropped when
we're trying to notify resource removal. This is a useful mechanism to
catch misuse of the resource removal API, but that means dropping
receivers on scope cancelation during shutdown can trigger the panic.

Keep the panic in the notifiers side by ensuring the receiver is not
dropped due to the future being dropped when spawned in a scope with a
ScopeActiveGuard. Fallback to the deferred removal mechanism when we
can't acquire a guard.

Split the receiver and notifier implementations into their own module so
we can keep this neatly separated from the rest of bindings and test in
isolation.

Original-Fixed: 416692381
Multiply: dns-integration-test

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1272439
Original-Revision: ff57134dbb2e10b2a5bf0f8d04afab722ddc7489
GitOrigin-RevId: 95777e5c70b38f17f0de3bcebbab5273ae55ea63
Change-Id: Ie7c43c66299f765d4807aa405b2bbecb24d6d9dc
1 file changed
tree: 40bd5f377c9543f5adfc5dc54516d7f7c7f9d51e
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. 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 in one of the communication channels documented at get involved.

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.