On 02/10/2025 18:29, Pedro LamarĂ£o wrote:
:

I fail to understand this; I have not tested STS extensively.
Is it not the case that an inner scope will be cancelled when its parent scope is cancelled? The forked subtask would be joining the inner scope; will this inner join not be cancelled when the outer join is cancelled? In what sense does an inner scope not participate in the same error handling as the outer scope?

When the outer/parent scope is cancelled then all threads executing unfinished subtasks will be interrupted. If a subtask has created it own scope and invokes join to block waiting for its sub-subtasks, then it will wakeup with InterruptedException, and the exception handling will cause its scope to be closed, thus interrupting any remaining sub-subtasks. So yes, cancelling the parent scope may result in a "tree of scopes" being cancelled.

-Alan

Reply via email to