isActive

Returns true when the Job of the coroutine in this context is still active (has not completed and was not cancelled yet).

Check this property in long-running computation loops to support cancellation when CoroutineScope.isActive is not available:

while (coroutineContext.isActive) {
    // do some computation
}

The coroutineContext.isActive expression is a shortcut for coroutineContext[Job]?.isActive == true. See Job.isActive.