cpython/Modules/clinic
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
..
_abc.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_asynciomodule.c.h GH-107803: double linked list implementation for asyncio tasks (GH-107804) 2024-06-22 10:58:35 -07:00
_bisectmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_bz2module.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
_codecsmodule.c.h gh-115026: Argument Clinic: handle PyBuffer_FillInfo errors in generated code (#115027) 2024-02-05 11:45:09 +01:00
_collectionsmodule.c.h gh-112050: Make collections.deque thread-safe in free-threaded builds (#113830) 2024-02-15 09:22:47 +01:00
_contextvarsmodule.c.h gh-107603: Argument Clinic: Only include pycore_gc.h if needed (#108726) 2023-08-31 23:42:34 +02:00
_csv.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_curses_panel.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_cursesmodule.c.h gh-111089: Revert PyUnicode_AsUTF8() changes (#111833) 2023-11-07 22:36:13 +00:00
_datetimemodule.c.h gh-112919: Speed-up datetime, date and time.replace() (GH-112921) 2024-01-30 15:19:46 +00:00
_dbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_elementtree.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_functoolsmodule.c.h gh-111903: Update AC to support "pycore_critical_section.h" header (gh-112251) 2023-11-19 10:13:58 +09:00
_gdbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_hashopenssl.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_heapqmodule.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_localemodule.c.h gh-111089: Revert PyUnicode_AsUTF8() changes (#111833) 2023-11-07 22:36:13 +00:00
_lsprof.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
_lzmamodule.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
_opcode.c.h gh-120780: Show attribute name for LOAD_SPECIAL in dis output (#120781) 2024-06-20 07:07:24 -07:00
_operator.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_pickle.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_posixsubprocess.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_queuemodule.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
_randommodule.c.h gh-112071: Make `_random.Random` methods thread-safe in `--disable-gil` builds (gh-112128) 2023-11-28 03:27:39 +00:00
_ssl.c.h gh-116646, AC: Add CConverter.use_converter() method (#116793) 2024-03-14 13:57:02 +01:00
_statisticsmodule.c.h gh-85283: Build _statistics extension with the limited C API (#116927) 2024-03-17 18:59:02 +01:00
_struct.c.h gh-112358: Fix Python 3.12 regression with subclassing struct.Struct. (#112424) 2023-11-26 14:29:52 +00:00
_suggestions.c.h gh-110721: Remove unused code from suggestions.c after moving PyErr_Display to use the traceback module (#113712) 2024-01-08 15:10:45 +00:00
_sysconfig.c.h gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
_testclinic.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_testclinic_depr.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_testclinic_limited.c.h gh-116646: Add limited C API support to AC fildes converter (#116769) 2024-03-14 10:28:58 +01:00
_testinternalcapi.c.h gh-119213: Be More Careful About _PyArg_Parser.kwtuple Across Interpreters (gh-119331) 2024-05-22 09:57:52 -06:00
_testmultiphase.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_tkinter.c.h gh-66410: Do not stringify arguments of Tkinter callback (GH-98592) 2024-05-07 12:07:32 +00:00
_tracemalloc.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_typingmodule.c.h gh-107603: Argument Clinic: Only include pycore_gc.h if needed (#108726) 2023-08-31 23:42:34 +02:00
_weakref.c.h gh-111926: Make weakrefs thread-safe in free-threaded builds (#117168) 2024-04-08 10:58:38 -04:00
_winapi.c.h gh-119690: Adds Unicode support for named pipes in _winapi (GH-119717) 2024-05-29 16:51:09 +01:00
_zoneinfo.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
arraymodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
binascii.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
cmathmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
fcntlmodule.c.h gh-69214: Fix fcntl.ioctl() request type (#119498) 2024-05-24 14:31:40 +02:00
gcmodule.c.h gh-112529: Simplify PyObject_GC_IsTracked and PyObject_GC_IsFinalized (#114732) 2024-02-28 15:37:59 -05:00
grpmodule.c.h gh-85283: Convert grp extension to the limited C API (#116611) 2024-03-12 00:46:53 +00:00
itertoolsmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
mathmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
md5module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
overlapped.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
posixmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
pwdmodule.c.h gh-85283: Build pwd extension with the limited C API (#116841) 2024-03-15 08:49:58 +01:00
pyexpat.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
readline.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
resource.c.h gh-85283: Build resource extension with limited C API (#110989) 2023-10-17 23:52:58 +02:00
selectmodule.c.h gh-116646, AC: Always use PyObject_AsFileDescriptor() in fildes (#116806) 2024-03-14 14:58:07 +01:00
sha1module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
sha2module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
sha3module.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
signalmodule.c.h gh-117764: Use Argument Clinic for signal.set_wakeup_fd() (GH-117777) 2024-04-12 11:21:00 +00:00
socketmodule.c.h socket: Update generated AC code (#111853) 2023-11-08 15:03:29 +00:00
symtablemodule.c.h gh-111089: Revert PyUnicode_AsUTF8() changes (#111833) 2023-11-07 22:36:13 +00:00
syslogmodule.c.h gh-117440: Make `syslog` thread-safe in free-threaded builds (#117441) 2024-04-02 10:44:26 -04:00
termios.c.h gh-85283: Build termios extension with the limited C API (#116928) 2024-03-17 15:12:29 +00:00
timemodule.c.h gh-111482: Use Argument Clinic for clock_gettime() (#111641) 2023-11-02 14:29:05 +01:00
unicodedata.c.h gh-117557: Improve error messages when a string, bytes or bytearray of length 1 are expected (GH-117631) 2024-05-28 12:01:37 +03:00
zlibmodule.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00