Getting Cancelled

By Andrew Kelley

Tackling asynchronous I/O in the Zig programming language project has revealed an endless rabbit hole. This talk will take you through the looking-glass, and share what Andrew found there.

It’s all about threads - the fundamental unit of CPU concurrency. How does it even look like to spawn a thread, beneath all the abstraction levels? Did you know you can interrupt a thread while it’s waiting for the operating system? How do signals work? What the heck is “work-stealing”? Let’s examine prior art critically - glibc, musl, and Windows. Finally, we’ll dig into the crowning achievement of any async system: robust cancelation.

Come to this talk with no subject knowledge and walk away with confidence about the low-level details of threads and asynchronous programming.