News for hackers. Stuff that matters.
Re:Libdill: Structured Concurrency for C (2016) by Matthias247 on Tuesday June 01, 2021 @06:03PM (#27362017)
You can do it for Rust threads - but it gets tricky with Rust coroutines (async functions).

I made an attempt of implementing it for async Rust in

https://github.com/tokio-rs/tokio/issues/1879

with a concrete implementation in

https://github.com/tokio-rs/tokio/pull/2579

It mostly follows the Kotlin model of structured concurrency. However it has its sets of drawbacks due to Rust Futures being immediately cancellable, which then leads to problem if a parent task gets simply dropped.

In order to handle that case better I've written a proposal for async functions that run to completion with https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-asy... . However that is all theoretical, and might never see the light of the day.

There are no comments on this comment yet.