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:
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:
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 `asyncio.gather([sub_t