Vojtěch Boček
4e38eeafe2
gh-115514: Fix incomplete writes after close while using ssl in asyncio( #128037 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-02-02 15:11:25 +00:00
Stan Ulbrych
bcb25d60b1
gh-129403: Fix ValueError
messages in asyncio.Barrier
and threading.Barrier
( #129419 )
...
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-01-30 11:11:12 +03:00
Thomas Grainger
fccbfc40b5
gh-129195: use future_add_to_awaited_by/future_discard_from_awaited_by
in asyncio.staggered.staggered_race
( #129253 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-26 21:14:16 +05:30
Thomas Grainger
ec91e1c276
gh-128479: fix asyncio staggered race leaking tasks, and logging unhandled exception.append exception ( #128475 )
...
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-01-23 16:53:53 +01:00
Yury Selivanov
188598851d
GH-91048: Add utils for capturing async call stack for asyncio programs and enable profiling ( #124640 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
Co-authored-by: Jacob Coffee <jacob@z7x.org>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2025-01-22 17:25:29 +01:00
Thomas Grainger
ed6934e71e
gh-128588: gh-128550: remove eager tasks optimization that missed and introduced incorrect cancellations ( #129063 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-20 17:13:01 +00:00
Thomas Grainger
38a9956876
gh-128308: pass **kwargs
to asyncio task_factory ( #128768 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-20 22:23:55 +05:30
Michał Górny
3829104ab4
gh-128916: Do not set SO_REUSEPORT
on non-AF_INET*
sockets (GH-128933)
...
* gh-128916: Do not set `SO_REUSEPORT` on non-`AF_INET*` sockets
Do not attempt to set ``SO_REUSEPORT`` on sockets of address familifies other
than ``AF_INET`` and ``AF_INET6``, as it is meaningless with these address
families, and the call with fail with Linux kernel 6.12.9 and newer.
* Apply suggestions from code review
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
---------
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
2025-01-17 16:49:16 -08:00
Wang Ran (汪然)
1a1056d394
Fix typo in Lib/asyncio/futures.py
( #128819 )
2025-01-15 17:54:31 +05:30
Thomas Grainger
61b9811ac6
gh-128552: fix refcycles in eager task creation ( #128553 )
2025-01-07 11:44:57 +00:00
Michael H
7363476b64
gh-128559: Remove typing import from asyncio.timeouts ( #128560 )
2025-01-06 15:03:27 -08:00
Kumar Aditya
7e8c571604
gh-128340: add thread safe handle for loop.call_soon_threadsafe
( #128369 )
...
Adds `_ThreadSafeHandle` to be used for callbacks scheduled with `loop.call_soon_threadsafe`.
2025-01-06 18:05:11 +05:30
jb2170
830e10651b
gh-127529: Correct asyncio's accept_connection
behaviour for handling ConnectionAbortedError
( #127532 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-03 10:32:36 +00:00
Andrew Svetlov
0b5f1fae57
Mention loop_factory argument in docstring for asyncio.run() ( #128288 )
2024-12-27 14:58:35 +01:00
Kumar Aditya
9fce906825
gh-127949: deprecate asyncio.set_event_loop
( #128218 )
...
Deprecate `asyncio.set_event_loop` to be removed in Python 3.16.
2024-12-24 19:24:28 +05:30
Kumar Aditya
a391d80f4b
gh-127949: deprecate asyncio policy classes ( #128216 )
2024-12-24 17:30:26 +05:30
Kumar Aditya
dbd08fb60d
gh-127949: deprecate asyncio.get_event_loop_policy
( #128053 )
...
This deprecates `asyncio.get_event_loop_policy` and will be removed in Python 3.16.
2024-12-18 18:04:20 +05:30
Kumar Aditya
5892853fb7
gh-127949: deprecate asyncio.set_event_loop_policy
( #128024 )
...
First step towards deprecating the asyncio policy system.
This deprecates `asyncio.set_event_loop_policy` and will be removed in Python 3.16.
2024-12-18 11:35:29 +05:30
J. Nick Koston
e991ac8f20
gh-127655: Ensure _SelectorSocketTransport.writelines
pauses the protocol if needed ( #127656 )
...
Ensure `_SelectorSocketTransport.writelines` pauses the protocol if it reaches the high water mark as needed.
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-12-06 10:03:03 +05:30
Kumar Aditya
fe5a6ab7be
gh-126353: remove implicit creation of loop from asyncio.get_event_loop
( #126354 )
...
Remove implicit creation of loop from `asyncio.get_event_loop`. This is a step forward of deprecating the policy system of asyncio.
2024-11-04 14:21:20 +05:30
Javad Shafique
3f24bde0b6
gh-118950: Fix SSLProtocol.connection_lost not being called when OSError is thrown ( #118960 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-10-24 17:41:16 +00:00
Thomas Grainger
0b28ea4a35
gh-124958: Revert "gh-125472: Revert "gh-124958: fix asyncio.TaskGroup and _PyFuture refcycles ... ( #125486 )
...
* Revert "gh-125472: Revert "gh-124958: fix asyncio.TaskGroup and _PyFuture refcycles (#12… (#125476 )"
This reverts commit e99650b80a
.
* fix incompatability with gh-124392
2024-10-14 15:45:58 -07:00
Kirill Podoprigora
e99650b80a
gh-125472: Revert "gh-124958: fix asyncio.TaskGroup and _PyFuture refcycles (#12… ( #125476 )
...
Revert "gh-124958: fix asyncio.TaskGroup and _PyFuture refcycles (#124959 )"
This reverts commit d5dbbf4372
.
2024-10-14 17:59:13 +00:00
Thomas Grainger
d5dbbf4372
gh-124958: fix asyncio.TaskGroup and _PyFuture refcycles ( #124959 )
2024-10-14 08:19:56 -07:00
Thomas Grainger
979c0df7c0
gh-124309: fix staggered race on eager tasks ( #124847 )
...
This patch is entirely by Thomas and Peter
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2024-10-11 16:31:06 -07:00
Thomas Grainger
c066bf5535
gh-124858: fix happy eyeballs refcyles ( #124859 )
2024-10-02 16:32:31 -07:00
Bartosz Sławecki
67e01a430f
gh-124594: Create and reuse the same context for the entire asyncio REPL session ( #124595 )
...
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2024-10-01 14:17:22 +00:00
Peter Bierma
133e929a79
gh-124309: Revert eager task factory fix to prevent breaking downstream ( #124810 )
...
* Revert "GH-124639: add back loop param to staggered_race (#124700 )"
This reverts commit e0a41a5dd1
.
* Revert "gh-124309: Modernize the `staggered_race` implementation to support eager task factories (#124390 )"
This reverts commit de929f353c
.
2024-09-30 18:37:27 -07:00
Kumar Aditya
e0a41a5dd1
GH-124639: add back loop param to staggered_race ( #124700 )
2024-09-29 08:42:46 +05:30
Ron Frederick
1229cb8c14
gh-120284: Enhance asyncio.run
to accept awaitable objects ( #120566 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-09-26 11:45:08 +05:30
Peter Bierma
de929f353c
gh-124309: Modernize the staggered_race
implementation to support eager task factories ( #124390 )
...
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-09-26 05:11:17 +00:00
Łukasz Langa
033510e11d
gh-120221: Support KeyboardInterrupt in asyncio REPL ( #123795 )
...
This switches the main pyrepl event loop to always be non-blocking so that it
can listen to incoming interruptions from other threads.
This also resolves invalid display of exceptions from other threads
(gh-123178).
This also fixes freezes with pasting and an active input hook.
2024-09-06 21:28:29 +02:00
Kumar Aditya
460ee5b994
gH-80788: remove old weakset workaround for thread safety ( #123388 )
2024-08-27 19:12:44 +05:30
Kevin Evans
58fdb169c8
Fix typo mentioning threads instead of tasks ( #123203 )
2024-08-23 21:54:12 +05:30
Wulian
bc9d92c679
gh-122858: Deprecate asyncio.iscoroutinefunction
( #122875 )
...
Deprecate `asyncio.iscoroutinefunction` in favor of `inspect.iscoroutinefunction`.
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-08-11 16:35:51 +00:00
AN Long
070f1e2e5b
gh-121913: Use str(exc) instead of exc.strerror in asyncio.base_events
( #122269 )
2024-07-25 17:26:04 +05:30
Łukasz Langa
dc93d1125f
gh-121957: Emit audit events for python -i
and python -m asyncio
(GH-121958)
...
Relatedly, emit the `cpython.run_startup` event from the Python version of
`PYTHONSTARTUP` handling.
2024-07-22 13:04:08 +02:00
Milan Oberkirch
e5c7216f37
gh-121790: Fix interactive console initialization ( #121793 )
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2024-07-16 00:24:18 +02:00
Kumar Aditya
48042c52a6
fix outdated comments in asyncio ( #121783 )
2024-07-15 05:59:19 +00:00
Milan Oberkirch
a183474293
gh-121711: Set -m asyncio
return_code to 1 for ENOTTY ( #121714 )
...
Set return_code to 1 for ENOTTY
2024-07-13 17:17:24 +02:00
Kirill Podoprigora
114389470e
gh-119909: Fix `NameError
in
asyncio
` REPL ( #121341 )
2024-07-06 16:49:33 -04:00
Kumar Aditya
bd473aa598
gh-87744: fix waitpid race while calling send_signal in asyncio ( #121126 )
...
asyncio earlier relied on subprocess module to send signals to the process, this has some drawbacks one being that subprocess module unnecessarily calls waitpid on child processes and hence it races with asyncio implementation which internally uses child watchers. To mitigate this, now asyncio sends signals directly to the process without going through the subprocess on non windows systems. On Windows it fallbacks to subprocess module handling but on windows there are no child watchers so this issue doesn't exists altogether.
2024-07-01 10:17:36 +05:30
Kumar Aditya
ef3c400434
gh-120804: remove is_active
method from internal child watchers implementation in asyncio ( #121124 )
2024-06-28 17:23:56 +05:30
Kumar Aditya
9d2e1ea386
GH-120804: Remove PidfdChildWatcher
, ThreadedChildWatcher
and AbstractChildWatcher
from asyncio APIs ( #120893 )
2024-06-23 18:38:50 +05:30
Kumar Aditya
96ead91f0f
GH-120804: Remove get_child_watcher
and set_child_watcher
from asyncio ( #120818 )
2024-06-23 09:53:23 +05:30
Kumar Aditya
4717aaa1a7
GH-107803: double linked list implementation for asyncio tasks (GH-107804)
...
* linked list
* add tail optmiization to linked list
* wip
* wip
* wip
* more fixes
* finally it works
* add tests
* remove weakreflist
* add some comments
* reduce code duplication in _asynciomodule.c
* address some review comments
* add invariants about the state of the linked list
* add better explanation
* clinic regen
* reorder branches for better branch prediction
* Update Modules/_asynciomodule.c
* Apply suggestions from code review
Co-authored-by: Itamar Oren <itamarost@gmail.com>
* fix capturing of eager tasks
* add comment to task finalization
* fix tests and couple c implmentation to c task
improved linked-list logic and more comments
* fix test
---------
Co-authored-by: Itamar Oren <itamarost@gmail.com>
2024-06-22 10:58:35 -07:00
Kumar Aditya
733dac01b0
GH-120804: Remove SafeChildWatcher, FastChildWatcher and MultiLoopChildWatcher from asyncio ( #120805 )
...
Remove SafeChildWatcher, FastChildWatcher and MultiLoopChildWatcher from asyncio. These child watchers have been deprecated since Python 3.12. The tests are also removed and some more tests will be added after the rewrite of child watchers.
2024-06-21 10:23:10 +05:30
Kirill Podoprigora
cf3bba3f06
gh-113892: Add a extra check to ProactorEventLoop.sock_connect
to ensure that the given socket is in non-blocking mode ( #119519 )
2024-06-01 09:05:19 -07:00
Łukasz Langa
2237946af0
gh-118894: Make asyncio REPL use pyrepl (GH-119433)
2024-05-31 22:26:02 +02:00
Nikita Sobolev
16b46ebd2b
gh-119121: Fix and test async.staggered.staggered_race
( #119173 )
2024-05-20 14:06:50 +03:00