You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nursery: don't act as a cancellation point in __aexit__
Previously, a Nursery could raise Cancelled even if all its children
had completed successfully.
This is undesirable, as discussed in #1457, so now a Nursery will
shield itself from cancels in __aexit__.
A Nursery with children can still be cancelled fine: if any of its
children raise Cancelled, then the whole Nursery will raise Cancelled.
If none of the Nursery's children raise Cancelled, then the Nursery
will never raise Cancelled.
As another consequence, a Nursery which never had any child tasks will
never raise Cancelled.
As yet another consequence, since an internal Nursery is used in the
implementation of Nursery.start(), if start() is cancelled, but the
task it's starting does not raise Cancelled, start() won't raise
Cancelled either.
0 commit comments