GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||
GeezerVison is showing github.com — Argument Clinic: Add support for PEP 703's critical sections (`Py_BEGIN_CRITICAL_SECTION()`) · Issue #111903 · python/cpython Closed Labels 3.13only security fixesonly security fixestopic-argument-clinictopic-free-threadingtype-featureA feature request or enhancementA feature request or enhancement DescriptionFeature or enhancementPEP 703 in large part relies on replacing the GIL with fine grained per-object locks. The primary way to acquire and release these locks is through the critical section API (#111569). It would be helpful if argument clinic could auto generate the API calls in the binding code when specified. For example, the As an example, the cpython/Modules/_io/bufferedio.c Lines 523 to 529 in 6f09f69
We might add a /*[clinic input] @critical_section _io._Buffered.close [clinic start generated code]*/ static PyObject * _io__Buffered_close_impl(buffered *self) /*[clinic end generated code: output=7280b7b42033be0c input=d20b83d1ddd7d805]*/ The generated binding code in static PyObject * _io__Buffered_close(buffered *self, PyObject *Py_UNUSED(ignored)) { PyObject *return_value = NULL; Py_BEGIN_CRITICAL_SECTION(self); return_value = _io__Buffered_close_impl(self); Py_END_CRITICAL_SECTION(); return return_value; } Note that Linked PRsReacted by Erlend E. Aasland Reacted by Alex Waygood Activity
MetadataMetadataAssigneesLabels3.13only security fixesonly security fixestopic-argument-clinictopic-free-threadingtype-featureA feature request or enhancementA feature request or enhancement ProjectsMilestoneRelationshipsDevelopmentIssue actions | ||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |