summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-121592: Make select.poll() and related objects thread-safe (#121594)Sam Gross2024-07-112-22/+96
| | | | | | This makes select.poll() and kqueue() objects thread-safe in the free-threaded build. Note that calling close() concurrently with other functions is still not thread-safe due to races on file descriptors (gh-121544).
* gh-121615: Improve `module.rst` C-API docs with better error descriptions ↵sobolevn2024-07-111-8/+15
| | | | (#121616)
* gh-121450: Make inline breakpoints use the most recent pdb instance (#121451)Tian Gao2024-07-115-1/+70
|
* gh-121554: remove unnecessary internal functions in compile.c (#121555)Irit Katriel2024-07-107-105/+12
| | | Co-authored-by: Erlend E. Aasland <erlend@python.org>
* gh-119786: fix broken links in docs and comment (#121601)Irit Katriel2024-07-102-3/+3
|
* gh-121596: Fix Sharing Interpreter Channels (gh-121597)Eric Snow2024-07-102-2/+20
| | | This fixes a mistake in gh-113012 and adds a test that verifies the fix.
* gh-117657: Remove TSAN suppressions for _abc.c (#121508)Sam Gross2024-07-101-2/+0
| | | | The functions look thread-safe and I haven't seen any warnings issued when running the tests locally.
* gh-117657: Fix TSan race in _PyDict_CheckConsistency (#121551)Sam Gross2024-07-102-17/+15
| | | | The only remaining race in dictobject.c was in _PyDict_CheckConsistency when the dictionary has shared keys.
* gh-120198: Stop the world when setting __class__ on free-threaded build ↵Ken Jin2024-07-105-58/+65
| | | | (GH-120672)
* gh-121460: Skip freeing unallocated arenas (gh-121491)Stefano Rivera2024-07-101-0/+8
| | | | | `munmap(NULL)` is not noop, like `free(NULL)` is. Fixes an observed testsuite hang on 32-bit ARM systems.
* gh-121404: remove some accesses to compiler internals from codegen functions ↵Irit Katriel2024-07-101-101/+120
| | | | (#121538)
* gh-107851: Fix spurious failures in fcntl eintr tests (#121556)Sam Gross2024-07-101-17/+20
| | | | | | | | | | On heavily loaded machines, the subprocess may finish its sleep before the parent process manages to synchronize with it via a failed lock. This leads to errors like: Exception: failed to sync child in 300.3 sec Use pipes instead to mutually synchronize between parent and child.
* gh-89364: Export PySignal_SetWakeupFd() function (#121537)Victor Stinner2024-07-102-1/+4
| | | | Export the PySignal_SetWakeupFd() function. Previously, the function was documented but it couldn't be used in 3rd party code.
* gh-121567: Improve `slice` C-API docs by mentioning exceptions (#121568)sobolevn2024-07-101-3/+5
| | | Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-121547: deduplicate the code of const_cache update functions (#121548)Irit Katriel2024-07-101-25/+22
|
* gh-121571: Do not use `EnvironmentError` in tests, use `OSError` instead ↵sobolevn2024-07-102-2/+2
| | | | (#121572)
* Improve zipimport tests (GH-121535)Serhiy Storchaka2024-07-101-158/+138
|
* GH-121439: Allow PyTupleObjects with an ob_size of 20 in the free_list to be ↵satori19952024-07-102-1/+2
| | | | reused (gh-121428)
* GH-121521: Detect when wasmtime is not installed in `Tools/wasm/wasi.py` ↵Brett Cannon2024-07-091-6/+18
| | | | (GH-121522)
* GH-120372: Switch to wasmtime 22 (GH-121523)Brett Cannon2024-07-092-8/+10
| | | Along the way, make the cache key in GitHub Actions for `config.cache` be more robust in the face of potential env var changes from `Tools/wasm/wasi.py`.
* gh-117657: Skip test when running under TSan (GH-121549)Sam Gross2024-07-092-0/+4
| | | | | | The ProcessPoolForkserver combined with resource_tracker starts a thread after forking, which is not supported by TSan. Also skip test_multiprocessing_fork for the same reason
* gh-117657: Fix TSAN races in setobject.c (#121511)Sam Gross2024-07-092-11/+10
| | | | | The `used` field must be written using atomic stores because `set_len` and iterators may access the field concurrently without holding the per-object lock.
* gh-121533: Improve `PyCell_[Get,Set]` docs: mention the exceptions (#121534)sobolevn2024-07-091-3/+6
| | | Co-authored-by: Victor Stinner <vstinner@python.org>
* Docs: fix typo and duplicate word in configure.rst (#121410)Rafael Fontenelle2024-07-091-2/+2
|
* GH-118926: Better distinguish between pointer and arrays in interpreter ↵Mark Shannon2024-07-097-19/+73
| | | | generator (GH-121496)
* gh-121333: Clarify what is the default executor for asyncio.run_in_executor ↵AN Long2024-07-091-0/+3
| | | | | (#121335) Co-authored-by: Kumar Aditya <kumaraditya@python.org>
* gh-121110: Fix Extension Module Tests Under Py_TRACE_REFS Builds (gh-121503)Eric Snow2024-07-082-26/+43
| | | The change in gh-118157 (b2cd54a) should have also updated clear_singlephase_extension() but didn't. We fix that here. Note that clear_singlephase_extension() (AKA _PyImport_ClearExtension()) is only used in tests.
* gh-121018: Fix typo in NEWS entry (#121510)Sam Gross2024-07-081-1/+1
|
* NEWS: Fix Sphinx warnings and increase threshold for new news nits (#121482)Hugo van Kemenade2024-07-0839-106/+110
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-121404: remove direct accesses to u_private from codegen functions (#121500)Irit Katriel2024-07-081-27/+42
|
* gh-121368: Fix seq lock memory ordering in _PyType_Lookup (#121388)Sam Gross2024-07-089-16/+50
| | | | | | | | | The `_PySeqLock_EndRead` function needs an acquire fence to ensure that the load of the sequence happens after any loads within the read side critical section. The missing fence can trigger bugs on macOS arm64. Additionally, we need a release fence in `_PySeqLock_LockWrite` to ensure that the sequence update is visible before any modifications to the cache entry.
* gh-121487: Fix deprecation warning for ATOMIC_VAR_INIT in mimalloc (gh-121488)Marc Mueller2024-07-082-2/+7
|
* GH-119169: Simplify `os.walk()` exception handling (#121435)Barney Gale2024-07-082-50/+35
| | | | Handle errors from `os.scandir()` and `ScandirIterator` similarly, which lets us loop over directory entries with `for`.
* gh-121374: Correct docstrings in `_interpchannels` (gh-121418)Max Muoto2024-07-081-2/+2
|
* GH-121012: Set index to -1 when list iterators become exhausted in tier 2 ↵Mark Shannon2024-07-084-3/+20
| | | | (GH-121483)
* gh-121338: Remove #pragma optimize (#121340)Michael Droettboom2024-07-081-10/+0
|
* gh-108297: Update crashers README for test_crashers removal (#121475)Alyssa Coghlan2024-07-081-4/+0
| | | Update Lib/test/crashers/README for test_crashers removal
* gh-121461: Fix os.path.normpath documentation indentation (#121466)CBerJun2024-07-081-1/+1
|
* gh-121467: Fix makefile to include mimalloc headers (#121469)Marc Mueller2024-07-082-2/+3
|
* Fix sphinx reference target (#121470)Shantanu2024-07-081-2/+1
| | | | This was introduced in https://github.com/python/cpython/pull/121164 and appears to be causing test failures on main
* GH-73991: Fix "Operation not supported" on Fedora buildbot. (#121444)Barney Gale2024-07-071-4/+9
| | | | Follow-up to #120806. Use `os_helper.skip_unless_xattr` to skip testing xattr preservation when unsupported.
* Add Fidget-Spinner to stackrefs CODEOWNERS (GH-121455)Ken Jin2024-07-071-0/+1
|
* gh-121351: Skip test_not_wiping_history_file() if no readline (#121422)Sergey B Kirpichev2024-07-061-0/+4
|
* gh-119909: Fix ``NameError`` in ``asyncio`` REPL (#121341)Kirill Podoprigora2024-07-061-1/+1
|
* Regen ``Doc/requirements-oldest-sphinx.txt`` (#121437)Kirill Podoprigora2024-07-061-1/+1
| | | regen dependencies
* [docs] fix a Sphinx directive in `c-api/object.rst` (#121430)Bénédikt Tran2024-07-061-0/+1
|
* GH-73991: Support preserving metadata in `pathlib.Path.copy()` (#120806)Barney Gale2024-07-065-11/+187
| | | | | Add *preserve_metadata* keyword-only argument to `pathlib.Path.copy()`, defaulting to false. When set to true, we copy timestamps, permissions, extended attributes and flags where available, like `shutil.copystat()`. The argument has no effect on Windows, where metadata is always copied. Internally (in the pathlib ABCs), path types gain `_readable_metadata` and `_writable_metadata` attributes. These sets of strings describe what kinds of metadata can be retrieved and stored. We take an intersection of `source._readable_metadata` and `target._writable_metadata` to minimise reads/writes. A new `_read_metadata()` method accepts a set of metadata keys and returns a dict with those keys, and a new `_write_metadata()` method accepts a dict of metadata. We *might* make these public in future, but it's hard to justify while the ABCs are still private.
* gh-121359: Run test_pyrepl in isolated mode (#121414)Victor Stinner2024-07-051-1/+4
| | | | run_repl() now pass the -I option (isolated mode) to Python if the 'env' parameter is not set.
* Update example of str.split, bytes.split (#121287)Yuxin Wu2024-07-051-6/+10
| | | | | | | | | | | In `{str,bytes}.strip(chars)`, multiple characters are not treated as a prefix/suffix, but as individual characters. This may make users confuse whether `split` has similar behavior. Users may incorrectly expect that `'Good morning, John.'.split(', .') == ['Good', 'morning', 'John']` Adding a bit of clarification in the doc. Co-authored-by: Yuxin Wu <ppwwyyxx@users.noreply.github.com>
* gh-121288: Make error message for index() methods consistent (GH-121395)Serhiy Storchaka2024-07-055-5/+10
| | | | | | | | | Make error message for index() methods consistent Remove the repr of the searched value (which can be arbitrary large) from ValueError messages for list.index(), range.index(), deque.index(), deque.remove() and ShareableList.index(). Make the error messages consistent with error messages for other index() and remove() methods.