Lysandros Nikolaou
8549559f38
gh-120317: Lock around global state in the tokenize module ( #120318 )
...
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2024-07-16 11:35:57 +02:00
Ken Jin
3bfc9c831a
gh-120198: Stop the world when setting __class__ on free-threaded build (GH-120672)
2024-07-11 02:02:08 +08:00
Nice Zombies
360f14a493
gh-120659: Skip `test_freethreading` with GIL ( #120660 )
2024-06-18 15:56:20 +02:00
Victor Stinner
5a8a979aeb
gh-120417: Remove unused imports in tests (part 2) ( #120630 )
2024-06-17 21:05:37 +02:00
Daniele Parmeggiani
362cd2680b
gh-117657: Fix `__slots__` thread safety in free-threaded build ( #119368 )
...
Fix a race in `PyMember_GetOne` and `PyMember_SetOne` for `Py_T_OBJECT_EX`.
These functions implement `__slots__` accesses for Python objects.
2024-06-17 18:44:54 +00:00
Nikita Sobolev
0c0348adbf
gh-120579: Guard `_testcapi` import in `test_free_threading` ( #120580 )
2024-06-16 11:26:13 +03:00
Ken Jin
e16aed63f6
gh-117657: Make Py_TYPE and Py_SET_TYPE thread safe (GH-120165)
...
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Nadeshiko Manju <me@manjusaka.me>
2024-06-12 20:41:07 +08:00
Ken Jin
203565b2f9
gh-120198: Fix race condition when editing __class__ with an audit hook active (GH-120195)
2024-06-11 20:10:23 +01:00
Josh {*()} Rosenberg
baf347d916
gh-119247: Add macros to use PySequence_Fast safely in free-threaded build ( #119315 )
...
Add `Py_BEGIN_CRITICAL_SECTION_SEQUENCE_FAST` and
`Py_END_CRITICAL_SECTION_SEQUENCE_FAST` macros and update `str.join` to use
them. Also add a regression test that would crash reliably without this
patch.
2024-05-22 17:45:34 +00:00
Dino Viehland
ff6cbb2503
gh-112075: use per-thread dict version pool ( #118676 )
...
use thread state set of dict versions
2024-05-07 00:22:26 +00:00
Dino Viehland
e272195b3e
gh-118362: Skip tests when threading isn't available ( #118666 )
...
* Skip tests when threads aren't available
* Use ThreadPoolExecutor
2024-05-06 16:45:04 -07:00
Dino Viehland
636b8d94c9
gh-112075: Fix race in constructing dict for instance ( #118499 )
2024-05-06 23:31:09 +00:00
Dino Viehland
00d913c671
gh-118415: Fix issues with local tracing being enabled/disabled on a function ( #118496 )
2024-05-06 13:06:09 -07:00
Dino Viehland
5a1618a2c8
gh-118362: Fix thread safety around lookups from the type cache in the face of concurrent mutators ( #118454 )
...
Add _PyType_LookupRef and use incref before setting attribute on type
Makes setting an attribute on a class and signaling type modified atomic
Avoid adding re-entrancy exposing the type cache in an inconsistent state by decrefing after type is updated
2024-05-06 10:50:35 -07:00
Dino Viehland
1e67b9207c
gh-117657: Fix TSAN list set failure ( #118260 )
...
* Fix TSAN list set failure
* Relaxed atomic is sufficient, add targetted test
* More list
* Remove atomic assign in list
* Fixup white space
2024-05-02 13:03:05 -07:00
Dino Viehland
07525c9a85
gh-116818: Make `sys.settrace`, `sys.setprofile`, and monitoring thread-safe ( #116775 )
...
Makes sys.settrace, sys.setprofile, and monitoring generally thread-safe.
Mostly uses a stop-the-world approach and synchronization around the code object's _co_instrumentation_version. There may be a little bit of extra synchronization around the monitoring data that's required to be TSAN clean.
2024-04-19 14:47:42 -07:00