Mehdi Akiki
Writing / Interrupted execution

Correctness when execution is interrupted

Crashes, retries, cancellation, partial progress, ownership, recovery and idempotency.

Investigations

3 parts

Async Rust under the hood

Five async Rust problems reproduced in one small tokio program: an oversized future, a future that is not Send, a blocking call, a select! loop that loses data, and a shutdown that hangs. Then the cost of async fn through dyn Trait, and cleanup when Drop cannot await.

Evidence: experiments/rust-atlas/async-symptoms/

Articles

Shorter pieces and reference

Older, introductory or narrower pieces on the same subject.

Browse the full archive →