Erlend E. Aasland
ce8d3db256
gh-101819: Adapt _io._BufferedIOBase_Type methods to Argument Clinic ( #104355 )
...
Make sure the defining class is passed to all methods,
so we can easily fetch module state from them in the future.
2023-05-10 16:22:55 +02:00
Erlend E. Aasland
2dcb289ed0
gh-101819: Clean up _io windows console io after gh-104197 ( #104354 )
2023-05-10 10:59:31 +00:00
Erlend E. Aasland
68a8ca6dc1
gh-101819: Harden _io init ( #104352 )
...
Fix potential refleak if PyModule_AddObject() fails.
2023-05-10 12:59:03 +02:00
Erlend E. Aasland
235b82721d
gh-101819: Refactor _io in preparation for module isolation ( #104334 )
...
- Replace query with parameter in bufferediobase_unsupported()
- Replace query with parameter in iobase_unsupported()
- Hide delegate: Add method wrapper for _PyIOBase_check_seekable
- Hide delegate: Add method wraper for _PyIOBase_check_readable
- Hide delegate: Add method wraper for _PyIOBase_check_writable
- Replace query with parameter in _PyIOBase_check_seekable()
- Replace query with parameter in _PyIOBase_check_readable()
- Replace query with parameter in _PyIOBase_check_writable()
2023-05-09 23:09:03 +00:00
Carl Meyer
c3b595e73e
gh-97933: (PEP 709) inline list/dict/set comprehensions ( #101441 )
...
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-09 11:02:14 -06:00
Irit Katriel
ca95edf177
gh-104240: return code unit metadata from codegen ( #104300 )
2023-05-09 14:33:40 +01:00
chgnrdv
c21f828760
gh-104276: Make _struct.unpack_iterator type use type flag instead of custom constructor ( #104277 )
2023-05-09 12:41:09 +00:00
samschott
9a9b176eb7
gh-104180: Read SOCKS proxies from macOS System Configuration ( #104181 )
...
read SOCKS proxies from macOS System Configuration in ``urllib.request``.
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-05-09 10:24:29 +02:00
Nathaniel J. Smith
faf196213e
GH-104308: socket.getnameinfo should release the GIL ( #104307 )
...
* socket.getnameinfo should release the GIL
* 📜 🤖 Added by blurb_it.
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2023-05-08 16:27:20 -07:00
Jonathan Protzenko
874010c6ca
gh-99108: fix typo in Modules/Setup ( #104293 )
...
case sensitive filename
2023-05-08 09:52:11 -07:00
Hugo van Kemenade
d513ddee94
Trim trailing whitespace and test on CI ( #104275 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-08 17:03:52 +03:00
Jonathan Protzenko
15665d896b
gh-99108: Replace SHA3 implementation HACL* version ( #103597 )
...
Replaces our built-in SHA3 implementation with a verified one from the HACL* project.
This implementation is used when OpenSSL does not provide SHA3 or is not present.
3.11 shiped with a very slow tiny sha3 implementation to get off of the <=3.10 reference implementation that wound up having serious bugs. This brings us back to a reasonably performing built-in implementation consistent with what we've just replaced our other guaranteed available standard hash algorithms with: code from the HACL* project.
---------
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-05-07 20:50:04 -07:00
chgnrdv
06c2a4858b
gh-104265 Disallow instantiation of _csv.Reader and _csv.Writer ( #104266 )
2023-05-07 21:15:44 +00:00
Irit Katriel
2c2dc61e8d
gh-104240: make _PyCompile_CodeGen support different compilation modes ( #104241 )
2023-05-07 18:47:28 +01:00
Erlend E. Aasland
7a7eaff95c
gh-101819: Port _io.PyBytesIOBuffer_Type to heap type ( #104264 )
2023-05-07 14:01:27 +00:00
Erlend E. Aasland
a05bad3254
gh-100370: fix OverflowError in sqlite3.Connection.blobopen for 32-bit builds ( #103902 )
2023-05-07 12:55:31 +02:00
Erlend E. Aasland
cab1298a60
gh-101819: Adapt _io.PyWindowsConsoleIO_Type to heap type ( #104197 )
2023-05-07 11:23:11 +02:00
Erlend E. Aasland
3952379655
gh-101819: Port _io.PyIncrementalNewlineDecoder_Type to heap type ( #104249 )
2023-05-07 11:20:34 +02:00
Itamar Ostricher
c53547c907
gh-97696: Use PyObject_CallMethodNoArgs and inline is_loop_running check in _asyncio ( #104255 )
2023-05-07 09:55:45 +05:30
Eric Snow
fff193bbfe
gh-99113: Add a check for Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104206)
...
Py_MOD_PER_INTERPRETER_GIL_SUPPORTED is a new supported value for Py_mod_multiple_interpreters, added in gh-104205.
2023-05-06 21:57:35 +00:00
Erlend E. Aasland
3b14b51d11
gh-101819: Remove unused 'locale_module' from _io state ( #104246 )
...
The locale module reference was introduced by 932ff8368 in 2013,
and rendered unused by 710e82630 (gh-23050) in 2020.
2023-05-06 20:26:06 +00:00
Victor Stinner
c84029179c
gh-101819: Prepare to modernize the _io extension ( #104178 )
...
* Add references to static types to _PyIO_State:
* PyBufferedIOBase_Type
* PyBytesIOBuffer_Type
* PyIncrementalNewlineDecoder_Type
* PyRawIOBase_Type
* PyTextIOBase_Type
* Add the defining class to methods:
* _io.BytesIO.getbuffer()
* _io.FileIO.close()
* Add get_io_state_by_cls() function.
* Add state parameter to _textiowrapper_decode()
* _io_TextIOWrapper___init__() now sets self->state before calling
_textiowrapper_set_decoder().
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-06 01:53:55 +02:00
Jacob Bower
8b7f37dd4c
gh-97696: Remove redundant #include ( #104216 )
...
Remove "#include cpython/context.h"` from `_asynciomodule.c`.
It's already included in `Python.h`.
2023-05-05 16:50:06 -07:00
Eric Snow
f3e7eb48f8
gh-99113: Add PyInterpreterConfig.own_gil (gh-104204)
...
We also add PyInterpreterState.ceval.own_gil to record if the interpreter actually has its own GIL.
Note that for now we don't actually respect own_gil; all interpreters still share the one GIL. However, PyInterpreterState.ceval.own_gil does reflect PyInterpreterConfig.own_gil. That lie is a temporary one that we will fix when the GIL really becomes per-interpreter.
2023-05-05 15:59:20 -06:00
Eric Snow
a9c6e0618f
gh-99113: Add Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104205)
...
Here we are doing no more than adding the value for Py_mod_multiple_interpreters and using it for stdlib modules. We will start checking for it in gh-104206 (once PyInterpreterState.ceval.own_gil is added in gh-104204).
2023-05-05 21:11:27 +00:00
Eric Snow
1c420e138f
gh-104108: Add the Py_mod_multiple_interpreters Module Def Slot (gh-104148)
...
I'll be adding a value to indicate support for per-interpreter GIL in gh-99114.
2023-05-05 14:04:55 -06:00
Eric Snow
55671fe047
gh-99113: Share the GIL via PyInterpreterState.ceval.gil (gh-104203)
...
In preparation for a per-interpreter GIL, we add PyInterpreterState.ceval.gil, set it to the shared GIL for each interpreter, and use that rather than using _PyRuntime.ceval.gil directly. Note that _PyRuntime.ceval.gil is still the actual GIL.
2023-05-05 13:23:00 -06:00
Tian Gao
b979741731
gh-103533: Use PEP 669 APIs for cprofile (GH-103534)
2023-05-05 18:38:47 +01:00
Mark Shannon
a0df9ee8fc
GH-96803: Add three C-API functions to make _PyInterpreterFrame less opaque for users of PEP 523. (GH-96849)
2023-05-05 17:53:07 +01:00
Erlend E. Aasland
d0b4abedfb
gh-64631: Test exception messages in cloned Argument Clinic funcs ( #104167 )
2023-05-05 14:08:24 +02:00
Kumar Aditya
2318bedb36
GH-103092: port _asyncio freelist to module state ( #104196 )
2023-05-05 16:42:58 +05:30
Irit Katriel
81fc135f26
gh-104051: fix crash in test_xxtestfuzz with -We ( #104052 )
2023-05-05 11:34:13 +01:00
sunmy2019
163034515a
gh-104190: fix ubsan crash ( #104191 )
2023-05-05 15:24:03 +05:30
Dong-hee Na
e5b8b19d99
gh-104106: Add gcc fallback of mkfifoat/mknodat for macOS (gh-104129)
2023-05-05 12:27:25 +09:00
Serhiy Storchaka
2ba931ff72
gh-99593: Add tests for Unicode C API (part 2) ( #99868 )
...
Add tests for lower-level functions.
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-05-04 15:25:09 +00:00
Jelle Zijlstra
04f6733275
gh-102500: Implement PEP 688 ( #102521 )
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-05-04 07:59:46 -07:00
Gleb Smirnoff
b17d32c114
gh-96534: socketmodule: support FreeBSD divert(4) socket ( #96536 )
2023-05-04 14:57:05 +00:00
Erlend E. Aasland
4f524da484
gh-103092: Port _ctypes.COMError to heap type ( #104020 )
2023-05-04 13:03:24 +00:00
Petr Viktorin
cd9a56c2b0
gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511)
...
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-04 09:56:53 +02:00
Petr Viktorin
524a7f77fd
gh-103968: Deprecate creating heap types whose metaclass has custom tp_new. (GH-103972)
...
(That's a mouthful of an edge case!)
Co-authored-by: Barney Gale <barney.gale@gmail.com>
2023-05-03 15:17:14 +02:00
Eric Snow
292076a9aa
gh-104109: Expose Py_NewInterpreterFromConfig() in the Public C-API (gh-104110)
...
We also expose PyInterpreterConfig. This is part of the PEP 684 (per-interpreter GIL) implementation. We will add docs as soon as we can.
FYI, I'm adding the new config field for per-interpreter GIL in gh-99114.
2023-05-02 21:40:00 -06:00
Eric Snow
de64e75616
gh-94673: More Per-Interpreter Fields for Builtin Static Types (gh-103912)
...
his involves moving tp_dict, tp_bases, and tp_mro to PyInterpreterState, in the same way we did for tp_subclasses. Those three fields are effectively const for builtin static types (unlike tp_subclasses). In theory we only need to make their values immortal, along with their contents. However, that isn't such a simple proposition. (See gh-103823.) In the meantime the simplest solution is to move the fields into the interpreter.
One alternative is to statically allocate the values, but that's its own can of worms.
2023-05-02 21:30:03 -06:00
Dong-hee Na
d81ca7ec02
gh-84436: Add integration C API tests for immortal objects (gh-103962)
2023-05-03 00:05:30 +09:00
Jurica Bradarić
87223f32ab
gh-103743: Add PyUnstable_Object_GC_NewWithExtraData (GH-103744)
...
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-02 13:38:46 +02:00
Eric Snow
f73abf8e03
gh-94673: Hide Objects in PyTypeObject Behind Accessors (gh-104074)
...
This makes it much cleaner to move more PyTypeObject fields to PyInterpreterState.
2023-05-01 20:34:43 -06:00
Eric Snow
fdd878650d
gh-94673: Properly Initialize and Finalize Static Builtin Types for Each Interpreter (gh-104072)
...
Until now, we haven't been initializing nor finalizing the per-interpreter state properly.
2023-05-01 19:36:00 -06:00
Irit Katriel
80b714835d
gh-87092: Expose assembler to unit tests ( #103988 )
2023-05-01 22:29:30 +01:00
Itamar Ostricher
a474e04388
gh-97696: asyncio eager tasks factory ( #102853 )
...
Co-authored-by: Jacob Bower <jbower@meta.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2023-05-01 15:10:13 -06:00
chgnrdv
2a884ceb36
Fix typo in "expected" word in few source files ( #104034 )
2023-05-01 09:45:50 -06:00
Dong-hee Na
e147694252
gh-104028: Reduce object creation while calling callback function from gc (gh-104030)
2023-05-01 14:03:24 +00:00