cpython/Lib/asyncio
Guido van Rossum f51f54f39d
GH-95704: Don't suppress errors from tasks when TG is cancelled (#95761)
When a task catches CancelledError and raises some other error,
the other error should not silently be suppressed.

Any scenario where a task crashes in cleanup upon cancellation
will now result in an ExceptionGroup wrapping the crash(es)
instead of propagating CancelledError and ignoring the side errors.

NOTE: This represents a change in behavior (hence the need to
change several tests).  But it is only an edge case.

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2022-08-16 18:23:06 -07:00
..
__init__.py bpo-46771: Implement asyncio context managers for handling timeouts (GH-31394) 2022-03-10 08:05:20 -08:00
__main__.py
base_events.py Fix missing f prefix on f-strings (GH-91910) 2022-04-27 09:30:54 +03:00
base_futures.py gh-84623: Remove unused imports in stdlib (#93773) 2022-06-13 16:28:41 +02:00
base_subprocess.py bpo-32528: Make asyncio.CancelledError a BaseException. (GH-13528) 2019-05-27 14:45:12 +02:00
base_tasks.py bpo-47039: Normalize repr() of asyncio future and task objects (GH-31950) 2022-03-17 03:03:09 +02:00
constants.py bpo-44011: New asyncio ssl implementation (#31275) 2022-02-15 15:04:00 +02:00
coroutines.py gh-84623: Remove unused imports in stdlib (#93773) 2022-06-13 16:28:41 +02:00
events.py bpo-46994: Accept explicit contextvars.Context in asyncio create_task() API (GH-31837) 2022-03-14 13:54:13 +02:00
exceptions.py bpo-43352: Add a Barrier object in asyncio lib (GH-24903) 2022-03-26 00:01:21 +02:00
format_helpers.py
futures.py bpo-45924: Fix asyncio incorrect traceback when future's exception is raised multiple times (GH-30274) 2022-07-11 13:32:11 +01:00
locks.py gh-84623: Remove unused imports in stdlib (#93773) 2022-06-13 16:28:41 +02:00
log.py
mixins.py bpo-46796: Simplify handling of removed parameter "loop" in asyncio (GH-31431) 2022-02-21 13:25:52 +02:00
proactor_events.py gh-92841: Fix asyncio's RuntimeError: Event loop is closed (GH-92842) 2022-05-17 23:27:32 +01:00
protocols.py bpo-46741: Update asyncio.protocols.BufferedProtocol docstring (31327) 2022-02-15 18:39:28 +02:00
queues.py bpo-46796: Simplify handling of removed parameter "loop" in asyncio (GH-31431) 2022-02-21 13:25:52 +02:00
runners.py GH-95899: fix asyncio.Runner to call set_event_loop only once (#95900) 2022-08-15 10:02:47 -07:00
selector_events.py gh-91487: Optimize asyncio UDP speed (GH-91488) 2022-04-15 12:59:01 -07:00
sslproto.py Remove trailing spaces (GH-31695) 2022-03-05 17:47:00 +02:00
staggered.py Fix import path for asyncio.TimeoutError (#17691) 2019-12-24 12:46:42 +02:00
streams.py gh-84623: Remove unused imports in stdlib (#93773) 2022-06-13 16:28:41 +02:00
subprocess.py bpo-42392: Remove loop parameter from asyncio.tasks and asyncio.subprocess (GH-23521) 2020-11-28 10:21:17 +02:00
taskgroups.py GH-95704: Don't suppress errors from tasks when TG is cancelled (#95761) 2022-08-16 18:23:06 -07:00
tasks.py gh-91323: Revert "Allow overriding a future compliance check in asyncio.Task (GH-32197)" (GH-95442) 2022-08-04 15:51:38 +02:00
threads.py Trivial typo in docstring 2021-07-31 06:36:10 +02:00
timeouts.py gh-95051: ensure that timeouts scheduled with asyncio.Timeout that have already expired are deliverered promptly (#95109) 2022-07-24 13:18:05 -07:00
transports.py Remove trailing spaces (GH-31695) 2022-03-05 17:47:00 +02:00
trsock.py bpo-43232: Remove previously deprecated methods on TransportSocket (GH-24538) 2021-06-30 09:19:09 +03:00
unix_events.py bpo-44011: New asyncio ssl implementation (#31275) 2022-02-15 15:04:00 +02:00
windows_events.py bpo-46805: Add low level UDP socket functions to asyncio (GH-31455) 2022-03-13 18:42:29 +02:00
windows_utils.py