tree 9aeb2556f4d51e0ef66dcdd0bb5dba1b9d674758
parent ce650b0ce8fa95fc13d4744a293f3e9b00266bee
author Nate Bosch <nbosch@google.com> 1683044415 -0700
committer GitHub <noreply@github.com> 1683044415 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkUTg/CRBK7hj4Ov3rIwAAUTQIAJMOv3J2T7Ey/q4VSeSo9RAs
 SuPh0hSbu9Tc6SGA7TrDMHMooyB7+cb+J6I2+ZjinMNpJqtcZBP3aVcJA1xn3U5I
 s4dVj3QEAfg3khBv1WSYK6uNrkSRandrknMyYjPwHevTRvPQ/h2kMuyAGLBRxeBO
 jDLGN/B0WGR9FkEav/agwJMbt2jvPJPgNQiCkg7JYp4HsRzUnnPelrfS3cRNtLd1
 vMm58M6Gm7cnfh85Sis9g5amvd+FSqYHKEWsfMW47VXRUhtCOmpspyzEWupLpRzA
 mrYzEQhhFAwdD+ogssAJLAUwWjZY56T4lGNEHRBLHPElbkb999AGojBfnIsnjEs=
 =vSd6
 -----END PGP SIGNATURE-----
 

Synchronously forward chained cancellations (#239)

Add a test which chains through multiple `.then` calls and then cancels
the original operation. This test passes with the original code, but
starts failing after fixing a bug in `Completer.complete` in the SDK.
https://dart-review.googlesource.com/c/sdk/+/258929

- Add a list of extra completers to forward cancellation. In places
  where the cancellation had been forwarded through a `whenComplete`,
  add to the list of extra cancellations instead. This allows the Future
  return by the outer cancellation to wait for the other callbacks to
  complete before firing.
- When setting up forwarding on an already canceled completer,
  immediately forward the cancellation.
- When forwarding cancellations, don't repeatedly call `_cancel()` on a
  completer which has already been canceled.
- In `race()`, disable cancellation propagation to prevent a cyclic
  cancellation.