From: Donghee Na Date: Tue, 10 Oct 2023 14:17:08 +0000 (+0900) Subject: gh-109693: Update pycore_interp.h to use pyatomic.h (#110604) X-Git-Tag: v3.13.0a1~54 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5bc1b7f08d4f50c34b90c07402aae849b1f5d395;p=thirdparty%2FPython%2Fcpython.git gh-109693: Update pycore_interp.h to use pyatomic.h (#110604) --- diff --git a/Include/internal/pycore_interp.h b/Include/internal/pycore_interp.h index 0beddbb3d1ad..80f16af54457 100644 --- a/Include/internal/pycore_interp.h +++ b/Include/internal/pycore_interp.h @@ -12,7 +12,6 @@ extern "C" { #include "pycore_ast_state.h" // struct ast_state #include "pycore_atexit.h" // struct atexit_state -#include "pycore_atomic.h" // _Py_atomic_address #include "pycore_ceval_state.h" // struct _ceval_state #include "pycore_code.h" // struct callable_cache #include "pycore_context.h" // struct _Py_context_state @@ -119,7 +118,7 @@ struct _is { Use _PyInterpreterState_GetFinalizing() and _PyInterpreterState_SetFinalizing() to access it, don't access it directly. */ - _Py_atomic_address _finalizing; + PyThreadState* _finalizing; /* The ID of the OS thread in which we are finalizing. */ unsigned long _finalizing_id; @@ -244,7 +243,7 @@ extern void _PyInterpreterState_Clear(PyThreadState *tstate); static inline PyThreadState* _PyInterpreterState_GetFinalizing(PyInterpreterState *interp) { - return (PyThreadState*)_Py_atomic_load_relaxed(&interp->_finalizing); + return (PyThreadState*)_Py_atomic_load_ptr_relaxed(&interp->_finalizing); } static inline unsigned long @@ -254,7 +253,7 @@ _PyInterpreterState_GetFinalizingID(PyInterpreterState *interp) { static inline void _PyInterpreterState_SetFinalizing(PyInterpreterState *interp, PyThreadState *tstate) { - _Py_atomic_store_relaxed(&interp->_finalizing, (uintptr_t)tstate); + _Py_atomic_store_ptr_relaxed(&interp->_finalizing, tstate); if (tstate == NULL) { _Py_atomic_store_ulong_relaxed(&interp->_finalizing_id, 0); }