-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-81057: Move Signal-Related Globals to _PyRuntimeState #100085
gh-81057: Move Signal-Related Globals to _PyRuntimeState #100085
Conversation
ericsnowcurrently
commented
Dec 7, 2022
•
edited by bedevere-bot
Loading
edited by bedevere-bot
- Issue: [subinterpreters] Global C variables are a problem #81057
✅ Deploy Preview for python-cpython-preview canceled.
|
b8ae626
to
3b416b1
Compare
5cd67d8
to
c1ac129
Compare
Include/internal/pycore_signal.h
Outdated
#ifdef MS_WINDOWS | ||
# ifdef PYCORE_SIGNAL_WITH_PRE_INCLUDES | ||
# ifndef SOCKET | ||
# error "<winsock2.h> must be included before this header" | ||
# endif | ||
# ifndef HANDLE | ||
# error "<windows.h> must be included before this header" | ||
# endif | ||
# endif | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zooba, did I do this right? This is how I understood your recommendation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think you want PYCORE_SIGNAL_WITH_PRE_INCLUDES
in there. The header file is simply wrong if the system headers haven't been included, so it should always fail.
If the header needs to be used somewhere else, then that somewhere else also needs to include the headers. Alternatively, if it doesn't need to use the values (but just be able to allocate the structures), replace the SOCKET
and HANDLE
types entirely with void *
and do casts anywhere they're actually being used.
This reverts commit d9a5dfa.
b8ff9df
to
08799ad
Compare
* main: (103 commits) pythongh-100248: Add missing `ssl_shutdown_timeout` parameter in `asyncio` docs (python#100249) Assorted minor fixes for specialization stats. (pythonGH-100219) pythongh-100176: venv: Remove redundant compat code for Python <= 3.2 (python#100177) pythonGH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code unit. (pythonGH-100223) pythongh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer warning) (python#100215) pythonGH-100206: use versionadded for the addition of sysconfig.get_default_scheme (python#100207) pythongh-81057: Move _Py_RefTotal to the "Ignored Globals" List (pythongh-100203) pythongh-81057: Move Signal-Related Globals to _PyRuntimeState (pythongh-100085) pythongh-81057: Move faulthandler Globals to _PyRuntimeState (pythongh-100152) pythongh-81057: Move tracemalloc Globals to _PyRuntimeState (pythongh-100151) pythonGH-100143: Improve collecting pystats for parts of runs (pythonGH-100144) pythongh-99955: standardize return values of functions in compiler's code-gen (python#100010) pythongh-79218: Define `MS_WIN64` macro for Mingw-w64 64bit on Windows (pythonGH-100137) Fix: typo (Indention) (pythonGH-99904) pythongh-96715 Remove redundant NULL check in `profile_trampoline` function (python#96716) pythongh-100176: remove incorrect version compatibility check from argument clinic (python#100190) clarify the 4300-digit limit on int-str conversion (python#100175) pythongh-70393: Clarify mention of "middle" scope (python#98839) pythongh-99688: Fix outdated tests in test_unary (python#99712) pythongh-100174: [Enum] Correct PowersOfThree example. (pythonGH-100178) ...