gh-112538: Add internal-only _PyThreadStateImpl "wrapper" for PyThreadState (gh-112560)

Every PyThreadState instance is now actually a _PyThreadStateImpl.
It is safe to cast from `PyThreadState*` to `_PyThreadStateImpl*` and back.
The _PyThreadStateImpl will contain fields that we do not want to expose
in the public C API.
This commit is contained in:
Sam Gross 2023-12-07 14:11:45 -05:00 committed by GitHub
parent bf0beae6a0
commit db460735af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 54 additions and 17 deletions

View file

@ -186,7 +186,12 @@ extern PyTypeObject _PyExc_MemoryError;
}, \
}, \
}, \
._initial_thread = _PyThreadState_INIT, \
._initial_thread = _PyThreadStateImpl_INIT, \
}
#define _PyThreadStateImpl_INIT \
{ \
.base = _PyThreadState_INIT, \
}
#define _PyThreadState_INIT \