I believe that (3) is the only sensible option here, at least if you want to provide transactional guarantees (from the suspender side: either the resource we were waiting for was produced, and we run, or cancellation happened and the resource was not produced / not wasted.) I tried to discuss this in Understanding cancellation (in eio) - #16 by gasche
Related topics
| Topic | Replies | Views | Activity | |
|---|---|---|---|---|
| Understanding cancellation (in eio) | 56 | 4833 | March 24, 2022 | |
| Multicore Update: April 2020, with a preprint paper | 27 | 9361 | June 5, 2020 | |
| Multicore OCaml: November 2021 with results of code review | 30 | 7226 | January 7, 2022 | |
| About Multicore | 59 | 13616 | April 10, 2018 | |
| Multicore OCaml: June 2021 | 5 | 3233 | August 2, 2021 |