diff --git a/Python/bytecodes.c b/Python/bytecodes.c index 01ba6f59ad4e2e..9aa5558cf81e34 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -163,7 +163,9 @@ dummy_func( if ((oparg & RESUME_OPARG_LOCATION_MASK) < RESUME_AFTER_YIELD_FROM) { CHECK_EVAL_BREAKER(); } +#ifndef Py_GIL_DISABLED this_instr->op.code = RESUME_CHECK; +#endif } } diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index eb2113c40b341c..76dd34936c2594 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -4944,7 +4944,9 @@ if ((oparg & RESUME_OPARG_LOCATION_MASK) < RESUME_AFTER_YIELD_FROM) { CHECK_EVAL_BREAKER(); } + #ifndef Py_GIL_DISABLED this_instr->op.code = RESUME_CHECK; + #endif } DISPATCH(); } diff --git a/Tools/tsan/suppressions_free_threading.txt b/Tools/tsan/suppressions_free_threading.txt index 80191d6c2484e6..4011d73c6d74af 100644 --- a/Tools/tsan/suppressions_free_threading.txt +++ b/Tools/tsan/suppressions_free_threading.txt @@ -16,7 +16,8 @@ race:_in_weak_set race:_mi_heap_delayed_free_partial race:_Py_IsImmortal race:_Py_IsOwnedByCurrentThread -race:_PyEval_EvalFrameDefault +race:_Py_qsbr_poll +race:_Py_TryIncrefFast race:_PyFunction_SetVersion race:_PyImport_AcquireLock race:_PyImport_ReleaseLock @@ -25,24 +26,34 @@ race:_PyInterpreterState_IsRunningMain race:_PyObject_GC_IS_SHARED race:_PyObject_GC_SET_SHARED race:_PyObject_GC_TRACK +race:_PySemaphore_Wait race:_PyType_HasFeature race:assign_version_tag race:compare_unicode_unicode +race:count_next race:delitem_common +race:detach_thread race:dictkeys_decref race:dictkeys_incref race:dictresize race:gc_collect_main race:gc_restore_tid +race:grow_thread_array race:initialize_new_array race:insertdict +race:instrument_lock_held +race:internal_connect +race:long_dealloc race:lookup_tp_dict race:mi_heap_visit_pages +race:Py_TYPE +race:PyDict_GET_SIZE race:PyMember_GetOne race:PyMember_SetOne race:new_reference race:set_contains_key race:set_inheritable +race:sock_recv_impl race:start_the_world race:tstate_set_detached race:unicode_hash