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
gasche
39
Related topics
| Topic | Replies | Views | Activity | |
|---|---|---|---|---|
| Understanding cancellation (in eio) | 56 | 4975 | March 24, 2022 | |
| On concurrency models | 19 | 1620 | January 13, 2025 | |
| Multicore Update: April 2020, with a preprint paper | 27 | 9461 | June 5, 2020 | |
| Multicore OCaml: November 2021 with results of code review | 30 | 7325 | January 7, 2022 | |
| Multicore OCaml: June 2021 | 5 | 3250 | August 2, 2021 |