cpython/Lib/asyncio
CtrlZvi 4151061855 bpo-26819: Prevent proactor double read on resume (#6921)
The proactor event loop has a race condition when reading with
pausing/resuming. `resume_reading()` unconditionally schedules the read
function to read from the current future. If `resume_reading()` was
called before the previously scheduled done callback fires, this results
in two attempts to get the data from the most recent read and an
assertion failure. This commit tracks whether or not `resume_reading`
needs to reschedule the callback to restart the loop, preventing a
second attempt to read the data.
2018-05-20 13:21:10 +03:00
..
__init__.py bpo-32314: Implement asyncio.run() (#4852) 2017-12-14 09:42:21 -05:00
base_events.py bpo-32327: Revert loop.run_in_executor behaviour: return a Future. (#5392) 2018-01-28 14:09:40 -05:00
base_futures.py bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
base_subprocess.py bpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775) 2017-12-10 18:36:12 -05:00
base_tasks.py bpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775) 2017-12-10 18:36:12 -05:00
constants.py bpo-32622: Implement loop.sendfile() (#5271) 2018-01-27 21:22:47 +02:00
coroutines.py bpo-32636: Fix @asyncio.coroutine debug mode bug exposed by gh-5250 (#5291) 2018-01-24 15:14:33 -05:00
events.py Fix senfile typo (#6265) 2018-03-27 17:47:38 -07:00
format_helpers.py bpo-32311: Implement asyncio.create_task() shortcut (#4848) 2017-12-15 07:04:38 +02:00
futures.py bpo-32643: Drop support for a few private Task and Future APIs. (#5293) 2018-01-24 11:31:01 -05:00
locks.py bpo-32841: Fix cancellation in awaiting asyncio.Condition (#5665) 2018-02-14 11:18:11 +02:00
log.py
proactor_events.py bpo-26819: Prevent proactor double read on resume (#6921) 2018-05-20 13:21:10 +03:00
protocols.py Fix duplicating words words. (GH-6296) 2018-03-28 22:14:26 +03:00
queues.py bpo-32574: Fix leaks in asyncio.Queue.put() and .get() (#5208) 2018-01-25 18:45:43 -05:00
runners.py bpo-32314: Fix asyncio.run() to cancel runinng tasks on shutdown (#5262) 2018-01-21 14:56:59 -05:00
selector_events.py bpo-32251: Implement asyncio.BufferedProtocol. (#4755) 2018-01-28 16:30:26 -05:00
sslproto.py bpo-33037: Skip sending/receiving after SSL transport closing (GH-6044) 2018-03-10 17:48:35 +02:00
streams.py bpo-32391: Implement StreamWriter.wait_closed() (#5281) 2018-01-25 00:30:30 +02:00
subprocess.py bpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775) 2017-12-10 18:36:12 -05:00
tasks.py bpo-32643: Drop support for a few private Task and Future APIs. (#5293) 2018-01-24 11:31:01 -05:00
transports.py bpo-32356: idempotent pause_/resume_reading; new is_reading method. (#4914) 2017-12-18 17:03:23 -05:00
unix_events.py bpo-33332: Add signal.valid_signals() (GH-6581) 2018-05-04 13:00:50 +02:00
windows_events.py bpo-32622: Native sendfile on windows (#5565) 2018-02-25 19:32:14 +03:00
windows_utils.py bpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775) 2017-12-10 18:36:12 -05:00