This PR adds the ability to enable the GIL if it was disabled at
interpreter startup, and modifies the multi-phase module initialization
path to enable the GIL when loading a module, unless that module's spec
includes a slot indicating it can run safely without the GIL.
PEP 703 called the constant for the slot `Py_mod_gil_not_used`; I went
with `Py_MOD_GIL_NOT_USED` for consistency with gh-104148.
A warning will be issued up to once per interpreter for the first
GIL-using module that is loaded. If `-v` is given, a shorter message
will be printed to stderr every time a GIL-using module is loaded
(including the first one that issues a warning).
Here we are doing no more than adding the value for Py_mod_multiple_interpreters and using it for stdlib modules. We will start checking for it in gh-104206 (once PyInterpreterState.ceval.own_gil is added in gh-104204).
METH_NOARGS functions need only a single argument but they are cast
into a PyCFunction, which takes two arguments. This triggers an
invalid function cast warning in gcc8 due to the argument mismatch.
Fix this by adding a dummy unused argument.
_codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw
modules.
pyexpat.c doesn't need to redeclare PyMODINIT_FUNC, it's already declared in
Include/pyport.h.
svn+ssh://pythondev@svn.python.org/python/trunk
........
r82150 | ronald.oussoren | 2010-06-22 11:32:22 +0200 (Tue, 22 Jun 2010) | 12 lines
The code in _scproxy (a mac specific helper module to
detect proxy settings) had the wrong logic for detecting
if the checkbox 'Exclude simple hostnames' is checked. This
checkin fixes that.
As a result the test failure 'Issue8455' goes away on systems
where the checkbox is not checked.
I'm carefully avoiding saying that is fixes that issue,
test_urllib2_localnet assumes that system proxy settings are
empty (not just on OSX, see Issue8455 for details).
........