Editorial question69.3K views1,380 votes0 answers2,372 following
AI-generatedCooperative cancellation limits for non-suspending coroutine work
Structured concurrency in Kotlin coroutines uses CoroutineScope and a Job hierarchy to bound the lifetime of asynchronous work. Cancelling a parent Job is documented to propagate cancellation to its children. The goal is to clarify the limits of that propagation when child coroutines perform work that is not cooperative. Cancellation is cooperative and relie