[Python-Dev] Re: Behavior of `asyncio.gather` when one of submitted tasks raises a `KeyboardInterrupt`.

2022-06-09 Thread Guido van Rossum
I'm sorry, I don't know the answer. Maybe you can read some of the source code and report back here if you find any clues? On Thu, Jun 9, 2022 at 1:53 PM Yves Duprat wrote: > Sorry for my imprecision, can you read the changes about the results: > -- > With one coroutine in

[Python-Dev] Re: Behavior of `asyncio.gather` when one of submitted tasks raises a `KeyboardInterrupt`.

2022-06-09 Thread Yves Duprat
Sorry for my imprecision, can you read the changes about the results: -- With one coroutine in `asyncio.gather([sub_task()])`, result is: main_task(), be: CancelledError() __main__ With two coroutines `asyncio.gather([sub_task(), asyncio.sleep(0)])` , result is: main_task(), be:

[Python-Dev] Re: Behavior of `asyncio.gather` when one of submitted tasks raises a `KeyboardInterrupt`.

2022-06-09 Thread Yves Duprat
Thank you for the straightforward explanation. May I ask you another question? I don't understand the behavior of this waiting primitive. So here is the case below: ```py import asyncio e = KeyboardInterrupt # or SystemExit async def sub_task(): raise e async def main_task(): try: