summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-116448: Handle errors correctly in `os_waitid_impl` in `posixmodule` ↵Nikita Sobolev2024-03-071-9/+19
| | | | (#116449)
* gh-115664: Fix ordering of more versionadded and versionchanged directives ↵Serhiy Storchaka2024-03-0722-109/+80
| | | | (GH-116298)
* gh-116386: Fix format string "%ld" warning in `_xxinterpqueuesmodule` (#116387)Nikita Sobolev2024-03-071-1/+1
|
* gh-114099 - Add iOS testbed, plus Makefile target to invoke it. (gh-115930)Russell Keith-Magee2024-03-0721-126/+1195
|
* GH-116314: Update `Tools/wasm/README.md` to point to the devguide for ↵Brett Cannon2024-03-071-61/+3
| | | | building for WASI (GH-116445)
* gh-116397: Move the _PyGC_ClearAllFreeLists to the safe point (gh-116414)Donghee Na2024-03-061-2/+5
|
* gh-109653: Reduce import overhead of uuid module on Linux (#115160)Shantanu2024-03-062-1/+5
| | | | | | | | | | | | | | | | | | | This follows in the footsteps of #21586 This speeds up import uuid by about 6ms on Linux. Before: ``` λ hyperfine -w 4 "./python -c 'import uuid'" Benchmark 1: ./python -c 'import uuid' Time (mean ± σ): 20.4 ms ± 0.4 ms [User: 16.7 ms, System: 3.8 ms] Range (min … max): 19.6 ms … 21.8 ms 136 runs ``` After: ``` λ hyperfine -w 4 "./python -c 'import uuid'" Benchmark 1: ./python -c 'import uuid' Time (mean ± σ): 14.5 ms ± 0.3 ms [User: 11.5 ms, System: 3.2 ms] Range (min … max): 13.9 ms … 16.0 ms 175 runs ```
* gh-107361: strengthen default SSL context flags (#112389)William Woodruff2024-03-0626-1067/+1184
| | | | | | | | | | | | | This adds `VERIFY_X509_STRICT` to make the default SSL context perform stricter (per RFC 5280) validation, as well as `VERIFY_X509_PARTIAL_CHAIN` to enforce more standards-compliant path-building behavior. As part of this changeset, I had to tweak `make_ssl_certs.py` slightly to emit 5280-conforming CA certs. This changeset includes the regenerated certificates after that change. Signed-off-by: William Woodruff <william@yossarian.net> Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-88118: Fix some test_multiprocessing flakiness. (#116434)Gregory P. Smith2024-03-061-5/+10
| | | | | | | | | | | | | | | | | | Fix some test_multiprocessing flakiness. Potentially introduced by https://github.com/python/cpython/pull/25845 not joining that thread likely leads to recently observed "environment changed" logically passing but overall failing tests seen on some buildbots similar to: ``` 1 test altered the execution environment (env changed): test.test_multiprocessing_fork.test_processes 2 re-run tests: test.test_multiprocessing_fork.test_processes test.test_multiprocessing_forkserver.test_processes ```
* gh-114271: Make `_thread.lock` thread-safe in free-threaded builds (#116433)mpage2024-03-061-2/+2
| | | | | | | | Previously, the `locked` field was set after releasing the lock. This reverses the order so that the `locked` field is set while the lock is still held. There is still one thread-safety issue where `locked` is checked prior to releasing the lock, however, in practice that will only be an issue when unlocking the lock is contended, which should be rare.
* gh-115957: Close coroutine if TaskGroup.create_task() raises an error (#116009)Jason Zhang2024-03-065-16/+42
|
* gh-116381: Specialize CONTAINS_OP (GH-116385)Ken Jin2024-03-0621-194/+645
| | | | | | | | | | | * Specialize CONTAINS_OP * 📜🤖 Added by blurb_it. * Add PyAPI_FUNC for JIT --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-115398: Suggest use of `hasattr` with checking for 3.13 Expat API ↵Sebastian Pipping2024-03-062-0/+15
| | | | | availability (GH-116278) Suggest use of "hasattr" with checking for 3.13 Expat API availability
* gh-115398: Revert `PyExpat_CAPI_MAGIC` version bump (GH-116411)Sebastian Pipping2024-03-061-1/+1
| | | | | | | | | | | | | | Revert "gh-115398: Increment PyExpat_CAPI_MAGIC for SetReparseDeferralEnabled addition (GH-116301)" This reverts part of commit eda2963378a3c292cf6bb202bb00e94e46ee6d90. Why? this comment buried in an earlier code review explains: I checked again how that value is used in practice, it's here: https://github.com/python/cpython/blob/0c80da4c14d904a367968955544dd6ae58c8101c/Modules/_elementtree.c#L4363-L4372 Based on that code my understanding is that loading bigger structs from the future is considered okay unless `PyExpat_CAPI_MAGIC` differs, which implies that (1) magic needs to stay the same to support loading the future from the past and (2) that `PyExpat_CAPI_MAGIC` should only ever change for changes that do not increase size (but keep it constant). To summarize, that supports your argument. I checked branches 3.8, 3.9, 3.10, 3.11, 3.12 now and they all have the same comparison code there so reverting that magic string bump will support seamless backporting.
* gh-115103: Delay reuse of mimalloc pages that store PyObjects (#115435)Sam Gross2024-03-069-17/+199
| | | | | | | | | | | | | | | | | | This implements the delayed reuse of mimalloc pages that contain Python objects in the free-threaded build. Allocations of the same size class are grouped in data structures called pages. These are different from operating system pages. For thread-safety, we want to ensure that memory used to store PyObjects remains valid as long as there may be concurrent lock-free readers; we want to delay using it for other size classes, in other heaps, or returning it to the operating system. When a mimalloc page becomes empty, instead of immediately freeing it, we tag it with a QSBR goal and insert it into a per-thread state linked list of pages to be freed. When mimalloc needs a fresh page, we process the queue and free any still empty pages that are now deemed safe to be freed. Pages waiting to be freed are still available for allocations of the same size class and allocating from a page prevent it from being freed. There is additional logic to handle abandoned pages when threads exit.
* gh-116143: Fix race condition in pydoc _start_server (#116144)Itamar Oren2024-03-062-3/+7
|
* gh-107625: configparser: Raise error if a missing value is continued (GH-107651)Prince Roshan2024-03-064-0/+55
| | | | | Co-authored-by: Éric <merwok@netwok.org> Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
* GH-113710: Tier 2 optimizer: check the function instead of checking globals. ↵Mark Shannon2024-03-066-149/+137
| | | | (GH-116410)
* GH-115687: Most comparisons create Booleans, so propagate that information ↵Mark Shannon2024-03-062-16/+68
| | | | | (GH-116360) Most comparisons create booleans
* gh-107954: Add PyConfig_MEMBER_BOOL type to PyConfigSpec (#116359)Victor Stinner2024-03-064-191/+213
| | | | | | _PyConfig_AsDict() now returns bool objects for options using the new PyConfig_MEMBER_BOOL type. Update tests for these changes.
* gh-116404: Handle errors correctly in `wait_helper` in `posixmodule` (#116405)Nikita Sobolev2024-03-061-26/+29
|
* gh-112087: Update list_get_item_ref to optimistically avoid locking (gh-116353)Donghee Na2024-03-051-11/+60
| | | Co-authored-by: Sam Gross <colesbury@gmail.com>
* gh-116112: Fix `ResourceWarning` in `test_asyncio.test_stream` (#116371)Nikita Sobolev2024-03-051-0/+1
| | | Co-authored-by: @CendioOssman
* gh-115986: Fix inaccuracies in pprint docs (#116104)Kerim Kabirov2024-03-051-2/+2
| | | Amend wording after gh-116019 was merged.
* gh-115103: Enable internal mimalloc assertions in debug builds (#116343)Sam Gross2024-03-052-1/+4
| | | | | | | | This sets `MI_DEBUG` to `2` in debug builds to enable `mi_assert_internal()` calls. Expensive internal assertions are not enabled. This also disables an assertion in free-threaded builds that would be triggered by the free-threaded GC because we traverse heaps that are not owned by the current thread.
* gh-76785: Use PRId64 to Fix a Compiler Warning on Windows (gh-116369)Eric Snow2024-03-051-2/+2
| | | I accidentally introduced the warning in gh-116328.
* gh-109653: Just import `recursive_repr` in `dataclasses` (gh-109822)Nikita Sobolev2024-03-051-23/+3
|
* Fix debug output for optimized executor (#116337)Guido van Rossum2024-03-051-3/+4
| | | | This adjusts `length` rather than using `length+1` all over the place.
* chore: fix typos (#116345)cui fliter2024-03-0515-17/+17
| | | Signed-off-by: cui fliter <imcusg@gmail.com>
* gh-76785: Minor Improvements to "interpreters" Module (gh-116328)Eric Snow2024-03-059-88/+337
| | | This includes adding pickle support to various classes, and small changes to improve the maintainability of the low-level _xxinterpqueues module.
* gh-74668: Fix support of bytes in urllib.parse.parse_qsl() (GH-115771)Serhiy Storchaka2024-03-053-26/+64
| | | | urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data.
* gh-76511: Fix email.Message.as_string() for non-ASCII message with ASCII ↵Serhiy Storchaka2024-03-054-2/+21
| | | | charset (GH-116125)
* Fix the PyGetSetDef documentation (GH-116056)Serhiy Storchaka2024-03-051-3/+3
| | | closure is not a function pointer, it is a user data pointer.
* gh-115777: Fix double versionadded directives (GH-116269)Serhiy Storchaka2024-03-056-24/+8
|
* GH-115685: Split `_TO_BOOL_ALWAYS_TRUE` into micro-ops (GH-116352)Mark Shannon2024-03-058-44/+50
|
* GH-115819: Eliminate Boolean guards when value is known (GH-116355)Mark Shannon2024-03-056-2/+102
|
* gh-116326: Handler errors correctly in `getwindowsversion` in `sysmodule` ↵Nikita Sobolev2024-03-051-20/+32
| | | | (#116339)
* GH-115685: Optimize `TO_BOOL` and variants based on truthiness of input. ↵Mark Shannon2024-03-055-55/+150
| | | | (GH-116311)
* gh-116325: Raise `SyntaxError` rather than `IndexError` on ForwardRef with ↵Nikita Sobolev2024-03-053-1/+9
| | | | empty string arg (#116341)
* gh-112075: Enable freeing with qsbr and fallback to lock on key changed ↵Dino Viehland2024-03-051-6/+3
| | | | (GH-116336)
* GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 ↵Brett Cannon2024-03-056-7/+12
| | | | | | | | | primitives (#116327) * GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives * Add the configure changes * Update `wasm_build.py`
* gh-112087: Make list_{slice, ass_slice, subscript} to be threadsafe (gh-116233)Donghee Na2024-03-052-50/+87
|
* gh-116029: Fix unused function warning on macOS (#116340)Sam Gross2024-03-051-2/+2
|
* gh-116265: Remove obsolete sentence. (#116284)Terry Jan Reedy2024-03-041-4/+2
| | | | | Remove sentence in Tools/c-analyzer/README referring to deleted ignore-globals.txt.
* gh-115490: Make the interpreter.channels and interpreter.queues Modules ↵Eric Snow2024-03-046-19/+60
| | | | | Handle Reloading Properly (gh-115493) The problem manifested when the .py module got reloaded and the corresponding extension module didn't. The .py module registers types with the extension and the extension was not allowing that to happen more than once. The solution: let it happen more than once.
* gh-115320: Refactor `get_hash_info` in `sysmodule.c` not to swallow errors ↵Nikita Sobolev2024-03-041-23/+25
| | | | (#115321)
* gh-76785: Simplify Channels XID Types (gh-116318)Eric Snow2024-03-041-78/+49
| | | I had added an extra cleanup abstraction a while back that has turned out to be unnecessary.
* GH-116134: JIT aarch64-pc-windows-msvc (GH-116130)Brandt Bucher2024-03-044-3/+42
|
* GH-115802: Don't JIT zero-length jumps (GH-116177)Brandt Bucher2024-03-041-17/+68
|
* gh-116316: Fix typo in `UNARY_FUNC(PyNumber_Positive)` macros (GH-116317)Kirill Podoprigora2024-03-041-1/+1
|