summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-06-06 18:03:01 (GMT)
committerGitHub <noreply@github.com>2024-06-06 18:03:01 (GMT)
commit517733ce3cd7937dc527f1f191582c21cfb9b685 (patch)
tree64e0f07217be36c2991f65c8d9cd6c02114d5c68 /Tools
parent015ddfeca5e39a3796ee144d07accb1d5c7e7522 (diff)
downloadcpython-517733ce3cd7937dc527f1f191582c21cfb9b685.zip
cpython-517733ce3cd7937dc527f1f191582c21cfb9b685.tar.gz
cpython-517733ce3cd7937dc527f1f191582c21cfb9b685.tar.bz2
[3.13] gh-117657: Fix TSAN race involving import lock (GH-118523) (#120169)
This adds a `_PyRecursiveMutex` type based on `PyMutex` and uses that for the import lock. This fixes some data races in the free-threaded build and generally simplifies the import lock code. (cherry picked from commit e21057b99967eb5323320e6d1121955e0cd2985e) Co-authored-by: Sam Gross <colesbury@gmail.com>
Diffstat (limited to 'Tools')
-rw-r--r--Tools/tsan/suppressions_free_threading.txt4
1 files changed, 0 insertions, 4 deletions
diff --git a/Tools/tsan/suppressions_free_threading.txt b/Tools/tsan/suppressions_free_threading.txt
index 8b64d1f..cb48a30 100644
--- a/Tools/tsan/suppressions_free_threading.txt
+++ b/Tools/tsan/suppressions_free_threading.txt
@@ -26,8 +26,6 @@ race:free_threadstate
race_top:_add_to_weak_set
race_top:_in_weak_set
race_top:_PyEval_EvalFrameDefault
-race_top:_PyImport_AcquireLock
-race_top:_PyImport_ReleaseLock
race_top:_PyType_HasFeature
race_top:assign_version_tag
race_top:insertdict
@@ -41,9 +39,7 @@ race_top:set_discard_entry
race_top:set_inheritable
race_top:Py_SET_TYPE
race_top:_PyDict_CheckConsistency
-race_top:_PyImport_AcquireLock
race_top:_Py_dict_lookup_threadsafe
-race_top:_imp_release_lock
race_top:_multiprocessing_SemLock_acquire_impl
race_top:dictiter_new
race_top:dictresize