Weilin Du 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								561212a033 
								
							 
						 
						
							
							
								
								Doc: More duplicate word fixes (GH-136299)  
							
							
							
						 
						
							2025-07-11 21:18:47 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Pablo Galindo Salgado 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a5e628beb8 
								
							 
						 
						
							
							
								
								gh-91048: Prevent optimizing away the asyncio debug offsets structure on Windows ( #132963 )  
							
							... 
							
							
							
							To avoid having the debug sections being optimised away by the compiler
we use  __attribute__((used)) on gcc and clang but in Windows this is
not supported by the Microsoft compiler and there is no equivalent flag.
Unfortunately Windows offers almost no alternative other than exporting
the symbol in the dynamic table or using it somehow. 
							
						 
						
							2025-04-25 17:43:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Łukasz Langa 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c9bc458d30 
								
							 
						 
						
							
							
								
								gh-91048: Add ability to list all pending asyncio tasks in a process remotely ( #132807 )  
							
							
							
						 
						
							2025-04-23 18:22:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Srinivas Reddy Thatiparthy (తాటిపర్తి శ్రీనివాస్  రెడ్డి) 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								25717ff4bf 
								
							 
						 
						
							
							
								
								Remove unused headers from _asynciomodule.c file ( #132047 )  
							
							... 
							
							
							
							Co-authored-by: Kumar Aditya <kumaraditya@python.org> 
							
						 
						
							2025-04-16 18:20:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Chris Eibl 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d827d4d018 
								
							 
						 
						
							
							
								
								gh-131591: Fix GENERATE_DEBUG_SECTION for clangcl on Windows (GH-132112)  
							
							
							
						 
						
							2025-04-06 00:00:54 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								edbf7fb129 
								
							 
						 
						
							
							
								
								gh-111178: remove redundant casts for functions with correct signatures ( #131673 )  
							
							
							
						 
						
							2025-04-01 17:18:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ef06508f8e 
								
							 
						 
						
							
							
								
								gh-111178: fix UBSan failures for TaskStepMethWrapper ( #131602 )  
							
							
							
						 
						
							2025-03-23 19:56:03 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a45f25361d 
								
							 
						 
						
							
							
								
								GH-131238: More refactoring of core header files (GH-131351)  
							
							... 
							
							
							
							Adds new pycore_stats.h header file to help break dependencies involving the pycore_code.h header. 
							
						 
						
							2025-03-17 14:41:05 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ca7fd814e4 
								
							 
						 
						
							
							
								
								gh-111178: Fix function signatures in _asynciomodule.c ( #131228 )  
							
							
							
						 
						
							2025-03-14 13:37:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9d759b63d8 
								
							 
						 
						
							
							
								
								gh-111178: Change Argument Clinic signature for METH_O ( #130682 )  
							
							... 
							
							
							
							Use "PyObject*" for METH_O functions to fix an undefined behavior. 
							
						 
						
							2025-03-11 16:33:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7e3b788e8f 
								
							 
						 
						
							
							
								
								gh-128002: use efficient linked list implementation for eager tasks in asyncio ( #130518 )  
							
							
							
						 
						
							2025-03-03 06:36:43 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5f00501a94 
								
							 
						 
						
							
							
								
								gh-130221: fix crash when accessing module state while interp is finalizing in asyncio ( #130245 )  
							
							
							
						 
						
							2025-02-19 22:07:56 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								660f126f87 
								
							 
						 
						
							
							
								
								gh-129898: per-thread current task implementation in asyncio ( #129899 )  
							
							... 
							
							
							
							Store the current running task on the thread state, it makes it thread safe for the free-threading build and while improving performance as there is no lock contention, this effectively makes it lock free.
When accessing the current task of the current running loop in current thread, no locking is required and can be acessed without locking.
In the rare case of accessing current task of a loop running in a different thread, the stop the world pauses is used in free-threading builds to stop all other running threads and find the task for the specified loop.
This also makes it easier for external introspection to find the current task, and now it will be always correct. 
							
						 
						
							2025-02-19 16:34:49 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c7a9d06e06 
								
							 
						 
						
							
							
								
								gh-128002: optimistically remove tasks from linked list when finished  ( #129995 )  
							
							
							
						 
						
							2025-02-13 13:19:53 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								94cd2e0dde 
								
							 
						 
						
							
							
								
								gh-129289: fix crash when task finalizer is not called in asyncio ( #129840 )  
							
							
							
						 
						
							2025-02-10 17:03:59 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bff4bfeae1 
								
							 
						 
						
							
							
								
								gh-128002: add fast path for native tasks in asyncio.all_tasks ( #129943 )  
							
							
							
						 
						
							2025-02-10 15:04:33 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7246b9124c 
								
							 
						 
						
							
							
								
								gh-128002: simplify asyncio.all_tasks to use PyList_Extend instead of manual iteration ( #129942 )  
							
							
							
						 
						
							2025-02-10 14:26:32 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0d68b14a0d 
								
							 
						 
						
							
							
								
								gh-128002: use per threads tasks linked list in asyncio ( #128869 )  
							
							... 
							
							
							
							Co-authored-by: Łukasz Langa <lukasz@langa.pl> 
							
						 
						
							2025-02-06 19:51:07 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e7bc0cd182 
								
							 
						 
						
							
							
								
								gh-91048: fix _asyncio.future_discard_from_awaited_by ( #129731 )  
							
							... 
							
							
							
							fix discard 
							
						 
						
							2025-02-06 16:35:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								75c551974f 
								
							 
						 
						
							
							
								
								gh-91048: fix thread safety for asyncio stack introspection APIs ( #129399 )  
							
							
							
						 
						
							2025-02-06 21:33:52 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3447f4a56a 
								
							 
						 
						
							
							
								
								gh-129354: Use PyErr_FormatUnraisable() function ( #129514 )  
							
							... 
							
							
							
							Replace PyErr_WriteUnraisable() with PyErr_FormatUnraisable(). 
							
						 
						
							2025-01-31 14:20:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8e0b36006c 
								
							 
						 
						
							
							
								
								gh-128002: use _PyObject_SetMaybeWeakref when creating tasks in asyncio ( #128885 )  
							
							
							
						 
						
							2025-01-24 21:12:56 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Łukasz Langa 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fc3d400165 
								
							 
						 
						
							
							
								
								gh-91048: Also clear and set ts->asyncio_running_task with eager tasks ( #129197 )  
							
							... 
							
							
							
							This was missing from gh-124640. It's already covered by the new
test_asyncio/test_free_threading.py in combination with the runtime
assertion in set_ts_asyncio_running_task.
Co-authored-by: Kumar Aditya <kumaraditya@python.org> 
							
						 
						
							2025-01-23 19:26:36 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7dc41ad6a7 
								
							 
						 
						
							
							
								
								gh-128002: fix asyncio.all_tasks against concurrent deallocations of tasks ( #128541 )  
							
							
							
						 
						
							2025-01-09 21:26:00 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								513a4efa75 
								
							 
						 
						
							
							
								
								gh-128002: fix many thread safety issues in asyncio ( #128147 )  
							
							... 
							
							
							
							* Makes `_asyncio.Task` and `_asyncio.Future` thread-safe by adding critical sections
* Add assertions to check for thread safety checking locking of object by critical sections in internal functions
* Make `_asyncio.all_tasks` thread safe when eager tasks are used
* Add a thread safety test 
							
						 
						
							2025-01-04 14:18:22 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yan Yanchii 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5c814c83cd 
								
							 
						 
						
							
							
								
								gh-128198: Add missing error checks for usages of PyIter_Next() (GH-128199)  
							
							
							
						 
						
							2024-12-25 19:42:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								76f1785657 
								
							 
						 
						
							
							
								
								gh-128002: use internal llist implementation for asyncio tasks  ( #128256 )  
							
							
							
						 
						
							2024-12-25 17:51:27 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8a433b683f 
								
							 
						 
						
							
							
								
								gh-121621: clear running loop early in asyncio ( #128004 )  
							
							
							
						 
						
							2024-12-18 14:25:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								37c57dfad1 
								
							 
						 
						
							
							
								
								gh-126405: fix use-after-free in _asyncio.Future.remove_done_callback ( #126733 )  
							
							
							
						 
						
							2024-11-12 18:01:34 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b19d12f447 
								
							 
						 
						
							
							
								
								remove minor redundant code from _asyncio ( #126578 )  
							
							
							
						 
						
							2024-11-08 13:17:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a3e8e7bbc3 
								
							 
						 
						
							
							
								
								GH-107803: use circular double linked list for tasks in _asyncio ( #126577 )  
							
							
							
						 
						
							2024-11-08 12:51:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico-Posada 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f032f6ba8f 
								
							 
						 
						
							
							
								
								gh-126138: Fix use-after-free in _asyncio.Task by evil __getattribute__ ( #126305 )  
							
							... 
							
							
							
							Co-authored-by: Carol Willing <carolcode@willingconsulting.com> 
							
						 
						
							2024-11-02 13:16:00 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0e8665554b 
								
							 
						 
						
							
							
								
								gh-126080: fix UAF on task->task_context in task_call_step_soon due to an evil loop.__getattribute__ ( #126120 )  
							
							
							
						 
						
							2024-10-31 10:14:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico-Posada 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d07dcce693 
								
							 
						 
						
							
							
								
								gh-126083: Fix a reference leak in asyncio.Task when reinitializing with new non-None context ( #126103 )  
							
							
							
						 
						
							2024-10-31 10:47:57 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ed5059eeb1 
								
							 
						 
						
							
							
								
								gh-125966: fix use-after-free on fut->fut_callback0 due to an evil callback's __eq__ in asyncio ( #125967 )  
							
							
							
						 
						
							2024-10-27 22:40:10 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f819d4301d 
								
							 
						 
						
							
							
								
								gh-125984: fix use-after-free on fut->fut_{callback,context}0 due to an evil loop.__getattribute__ ( #126003 )  
							
							
							
						 
						
							2024-10-27 20:34:43 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bénédikt Tran 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c5b99f5c2c 
								
							 
						 
						
							
							
								
								gh-125969: fix OOB in future_schedule_callbacks due to an evil call_soon ( #125970 )  
							
							... 
							
							
							
							Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com> 
							
						 
						
							2024-10-25 23:45:09 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cae853e3b4 
								
							 
						 
						
							
							
								
								GH-125789: fix fut._callbacks to always return a copy of callbacks ( #125922 )  
							
							... 
							
							
							
							Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. 
							
						 
						
							2024-10-25 18:19:30 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mark Shannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c9014374c5 
								
							 
						 
						
							
							
								
								GH-125174: Make immortal objects more robust, following design from PEP 683 (GH-125251)  
							
							
							
						 
						
							2024-10-10 18:19:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Viktorin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								57c471a688 
								
							 
						 
						
							
							
								
								gh-123091: Use more _Py_IsImmortalLoose() (GH-123602)  
							
							... 
							
							
							
							Switch more _Py_IsImmortal(...) assertions to _Py_IsImmortalLoose(...)
The remaining calls to _Py_IsImmortal are in free-threaded-only code,
initialization of core objects, tests, and guards that fall back to
code that works with mortal objects. 
							
						 
						
							2024-09-02 18:17:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Kumar Aditya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3aaed083a3 
								
							 
						 
						
							
							
								
								GH-120974: make _asyncio.all_tasks thread safe ( #122801 )  
							
							... 
							
							
							
							Make `_asyncio.all_tasks` thread safe, also changes state lock to use critical section. 
							
						 
						
							2024-08-11 20:49:31 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b5e6fb39a2 
								
							 
						 
						
							
							
								
								gh-120974: Make asyncio swap_current_task safe in free-threaded build ( #122317 )  
							
							... 
							
							
							
							* gh-120974: Make asyncio `swap_current_task` safe in free-threaded build 
							
						 
						
							2024-08-02 19:02:08 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Peter Bierma 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c08696286f 
								
							 
						 
						
							
							
								
								gh-122332: Fix missing NULL check in asyncio.Task.get_coro ( #122338 )  
							
							
							
						 
						
							2024-07-27 11:57:48 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a15feded71 
								
							 
						 
						
							
							
								
								gh-120974: Make _asyncio._leave_task atomic in the free-threaded build ( #122139 )  
							
							... 
							
							
							
							* gh-120974: Make _asyncio._leave_task atomic in the free-threaded build
Update `_PyDict_DelItemIf` to allow for an argument to be passed to the
predicate. 
							
						 
						
							2024-07-23 17:06:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c908d1f87d 
								
							 
						 
						
							
							
								
								gh-120974: Use common freelist code in asyncio ( #122132 )  
							
							... 
							
							
							
							This refactors asyncio to use the common freelist helper functions and
macros. As a side effect, the freelist for _asyncio.Future is now
re-enabled in the free-threaded build. 
							
						 
						
							2024-07-23 21:54:24 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								47847aa8ef 
								
							 
						 
						
							
							
								
								gh-120974: Make _asyncio._enter_task atomic in the free-threaded build ( #122138 )  
							
							... 
							
							
							
							Use `PyDict_SetDefaultRef` to set the current task in a single operation
under the dictionary's lock. 
							
						 
						
							2024-07-23 14:17:14 +05:30 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								97248204a1 
								
							 
						 
						
							
							
								
								gh-121621: Disable asyncio freelist in free-threaded build ( #122046 )  
							
							... 
							
							
							
							The futureobj freelist isn't thread-safe. We intend to re-enable the
freelist in a thread-safe way for 3.14 (but not 3.13). 
							
						 
						
							2024-07-19 15:26:29 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sam Gross 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								81fd625b5c 
								
							 
						 
						
							
							
								
								gh-121621: Move asyncio_running_loop to private struct ( #121939 )  
							
							... 
							
							
							
							This avoids changing the ABI and keeps the field in the private struct. 
							
						 
						
							2024-07-17 15:21:24 -07:00