bpo-37658: Fix asyncio.wait_for() to respect waited task status (#21894)

Currently, if `asyncio.wait_for()` itself is cancelled it will always
raise `CancelledError` regardless if the underlying task is still
running.  This is similar to a race with the timeout, which is handled
already.
3 files changed