| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
A follow up for 0e2ac21dd4960574e89561243763eabba685296a
|
|
|
|
|
| |
Updated docs to include `Py_TPFLAGS_HAVE_AM_SEND`. News section should not be necessary.
Automerge-Triggered-By: GH:asvetlov
|
|
|
|
|
|
|
|
|
| |
This change partically reverts
commit ad3252bad905d41635bcbb4b76db30d570cf0087
and the commit fe2978b3b940fe2478335e3a2ca5ad22338cdf9c.
Many third party C extension modules rely on the ability of using
Py_TYPE() to set an object type: "Py_TYPE(obj) = type;" or to set an
object type using: "Py_SIZE(obj) = size;".
|
| |
|
|
|
|
|
| |
Signed-off-by: Christian Heimes <christian@python.org>
Automerge-Triggered-By: GH:tiran
|
|
|
| |
Signed-off-by: Christian Heimes <christian@python.org>
|
|
|
| |
Signed-off-by: Christian Heimes <christian@python.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a race condition in "make regen-all" when make -jN option is used
to run jobs in parallel. The clinic.py script now only use atomic
write to write files. Moveover, generated files are now left
unchanged if the content does not change, to not change the file
modification time.
The "make regen-all" command runs "make clinic" and "make
regen-importlib" targets:
* "make regen-importlib" builds object files (ex: Modules/_weakref.o)
from source files (ex: Modules/_weakref.c) and clinic files (ex:
Modules/clinic/_weakref.c.h)
* "make clinic" always rewrites all clinic files
(ex: Modules/clinic/_weakref.c.h)
Since there is no dependency between "clinic" and "regen-importlib"
Makefile targets, these two targets can be run in parallel. Moreover,
half of clinic.py file writes are not atomic and so there is a race
condition when "make regen-all" runs jobs in parallel using make -jN
option (which can be passed in MAKEFLAGS environment variable).
Fix clinic.py to make all file writes atomic:
* Add write_file() function to ensure that all file writes are
atomic: write into a temporary file and then use os.replace().
* Moreover, write_file() doesn't recreate or modify the file if the
content does not change to avoid modifying the file modification
file.
* Update test_clinic to verify these assertions with a functional
test.
* Remove Clinic.force attribute which was no longer used, whereas
Clinic.verify remains useful.
|
|
|
|
|
| |
skip test_min_max_version_mismatch when TLS 1.0 is not available
Signed-off-by: Christian Heimes <christian@python.org>
|
| |
|
|
|
| |
Automerge-Triggered-By: GH:asvetlov
|
|
|
| |
Automerge-Triggered-By: GH:asvetlov
|
|
|
|
|
|
| |
Port the _signal extension module to the multi-phase initialization
API (PEP 489).
Co-Authored-By: Mohamed Koubaa <koubaa.m@gmail.com>
|
|
|
|
| |
On AIX, splice() only works with a socket, whereas the test uses a
pipe.
|
| |
|
|
|
| |
Some `__slots__` where before the docstring, hiding them.
|
|
|
|
| |
(GH-23350)
|
|
|
|
|
| |
(GH-23351)
…ed for splice()
|
|
|
| |
Make sure that CFG from compiler front-end is correct. Be a bit more aggressive in the compiler back-end.
|
| |
|
|
|
|
|
|
| |
* Add signal_add_constants() function and add ADD_INT_MACRO macro.
* The Python SIGINT handler is now installed at the end of
signal_exec().
* Use Py_NewRef().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bpo-41686, bpo-41713: On Windows, the SIGINT event,
_PyOS_SigintEvent(), is now created even if Python is configured to
not install signal handlers (PyConfig.install_signal_handlers=0 or
Py_InitializeEx(0)).
Changes:
* Move global variables initialization from signal_exec() to
_PySignal_Init() to clarify that they are global variables cleared
by _PySignal_Fini().
* _PySignal_Fini() now closes sigint_event.
* IntHandler is no longer a global variable.
|
| |
|
|
|
|
|
|
|
| |
Remove the undocumented PyOS_InitInterrupts() C function.
* Rename PyOS_InitInterrupts() to _PySignal_Init(). It now installs
other signal handlers, not only SIGINT.
* Rename PyOS_FiniInterrupts() to _PySignal_Fini()
|
|
|
|
|
|
|
| |
Skip testing of pure Python PBKDF2 when one or more builtin hash module
is not available. Otherwise the import of hashlib prints noise on
stderr.
Signed-off-by: Christian Heimes <christian@python.org>
|
| |
|
|
|
|
|
|
|
| |
Literal equality no longer depends on the order of arguments.
Fix issue related to `typing.Literal` caching by adding `typed` parameter to `typing._tp_cache` function.
Add deduplication of `typing.Literal` arguments.
|
|
|
|
|
|
|
|
|
|
|
| |
Currently walruses are not allowerd in set literals and set comprehensions:
>>> {y := 4, 4**2, 3**3}
File "<stdin>", line 1
{y := 4, 4**2, 3**3}
^
SyntaxError: invalid syntax
but they should be allowed as well per PEP 572
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This fixes a regression that was introduced by the new parser.
Automerge-Triggered-By: GH:lysnikolaou
|
| |
|
|
|
| |
Automerge-Triggered-By: GH:lysnikolaou
|
|
|
|
|
|
| |
As AIX 5.3 and below do not support thread_cputime, it was decided in
https://bugs.python.org/issue40680 to require AIX 6.1 and above. This
commit removes workarounds for — and references to — older, unsupported
AIX versions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
time.time(), time.perf_counter() and time.monotonic() functions can
no longer fail with a Python fatal error, instead raise a regular
Python exception on failure.
Remove _PyTime_Init(): don't check system, monotonic and perf counter
clocks at startup anymore.
On error, _PyTime_GetSystemClock(), _PyTime_GetMonotonicClock() and
_PyTime_GetPerfCounter() now silently ignore the error and return 0.
They cannot fail with a Python fatal error anymore.
Add py_mach_timebase_info() and win_perf_counter_frequency()
sub-functions.
|
|
|
|
|
| |
Fix the threading.Thread class at fork: do nothing if the thread is
already stopped (ex: fork called at Python exit). Previously, an
error was logged in the child process.
|
|
|
|
|
|
|
| |
time.perf_counter() on Windows and time.monotonic() on macOS are now
system-wide. Previously, they used an offset computed at startup to
reduce the precision loss caused by the float type. Use
time.perf_counter_ns() and time.monotonic_ns() added in Python 3.7 to
avoid this precision loss.
|
|
|
| |
The University of Washington stopped hosting the IMAP documents. Link to a rescued copy on GitHub.
|
|
|
| |
Automerge-Triggered-By: GH:gvanrossum
|
| |
|
| |
|
| |
|
|
|
|
| |
grep_headers_for() would error out when a header contained
text that cannot be interpreted as UTF-8.
|
| |
|
| |
|
|
|
|
|
| |
Specifically, find_spec(), create_module(), and exec_module().
Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
|
| |
|