| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Exclude PyFPE_START_PROTECT() and PyFPE_END_PROTECT() macros of
pyfpe.h from Py_LIMITED_API (stable API).
|
|
|
|
| |
Only call _PyGC_Init(), _PyExc_Init() and _PyErr_Init() in
new_interpreter().
|
|
|
|
|
|
|
|
|
| |
* Add GCState type for readability
* gcmodule.c now gets its gcstate from tstate
* _PyGC_DumpShutdownStats() now expects tstate rather than runtime
* Rename "state" to "gcstate" for readability: to avoid confusion
between "state" and "tstate" for example.
* collect() now only expects tstate: it gets gcstate from tstate.
* Pass tstate to _PyErr_xxx() functions
|
|
|
|
|
|
|
|
|
|
| |
Clear the current thread later in the Python finalization.
* The PyInterpreterState_Delete() function is now responsible
to call PyThreadState_Swap(NULL).
* The tstate_delete_common() function is now responsible to clear the
"autoTSSKey" thread local storage and it only clears it once the
thread state is fully cleared. It allows to still get the current
thread from TSS in tstate_delete_common().
|
| |
|
|
|
|
|
|
| |
* Factorize code in common between Py_FinalizeEx() and
Py_EndInterpreter().
* Py_EndInterpreter() now also calls _PyWarnings_Fini().
* Call _PyExc_Fini() and _PyGC_Fini() later in the finalization.
|
|
|
|
|
| |
These Format menu functions (default shortcuts Alt-T and Alt-U)
were mistakenly disabled in 3.7.5 and 3.8.0.
|
|
|
|
|
|
|
|
| |
This exposes a Linux-specific syscall for sending a signal to a process
identified by a file descriptor rather than a pid.
For simplicity, we don't support the siginfo_t parameter to the syscall. This
parameter allows implementing a pidfd version of rt_sigqueueinfo(2), which
Python also doesn't support.
|
|
|
|
|
| |
The PyFPE_START_PROTECT() and PyFPE_END_PROTECT() macros are empty:
they have been doing nothing for the last year (since commit
735ae8d139a673b30b321dc10acfd3d14f0d633b), so stop using them.
|
|
|
|
|
|
|
|
|
|
|
| |
Add PyInterpreterState.runtime field: reference to the _PyRuntime
global variable. This field exists to not have to pass runtime in
addition to tstate to a function. Get runtime from tstate:
tstate->interp->runtime.
Remove "_PyRuntimeState *runtime" parameter from functions already
taking a "PyThreadState *tstate" parameter.
_PyGC_Init() first parameter becomes "PyThreadState *tstate".
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Pass tstate parameter (PyThreadState) to GC collect() function and
other GC subfunctions.
|
| | |
|
| |
| |
| |
| |
| | |
* Rename _PyGC_Initialize() to _PyGC_InitializeRuntime()
* Add _PyGC_Init(): initialize _PyRuntime.gc.garbage list
* Call _PyGC_Init() before _PyTypes_Init()
|
| |
| |
| |
| |
| |
| |
| | |
ignore (GH-16989)
When building Python in some uncommon platforms there are some known tests that will fail. Right now, the test suite has the ability to ignore entire tests using the -x option and to receive a filter file using the --matchfile filter. The problem with the --matchfile option is that it receives a file with patterns to accept and when you want to ignore a couple of tests and subtests, is too cumbersome to lists ALL tests that are not the ones that you want to accept and he problem with -x is that is not easy to ignore just a subtests that fail and the whole test needs to be ignored.
For these reasons, add a new option to allow to ignore a list of test and subtests for these situations.
|
| |
| |
| |
| | |
* Call _PyLong_Init() and _PyExc_Init() earlier
* new_interpreter() reuses pycore_init_types()
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
creating cycles (GH-17246)
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles.
See for example GH-13135
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This PR implements a fix for `multiprocessing.Process` objects; the error occurs when Processes are created using either `fork` or `forkserver` as the `start_method`.
In these instances, the `MainThread` of the newly created `Process` object retains all attributes from its parent's `MainThread` object, including the `native_id` attribute. The resulting behavior is such that the new process' `MainThread` captures an incorrect/outdated `native_id` (the parent's instead of its own).
This change forces the Process object to update its `native_id` attribute during the bootstrap process.
cc @vstinner
https://bugs.python.org/issue38707
Automerge-Triggered-By: @pitrou
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ignore `GeneratorExit` exceptions when throwing an exception into the `aclose` coroutine of an asynchronous generator.
https://bugs.python.org/issue35409
|
| |
| |
| | |
Automerge-Triggered-By: @csabella
|
|/
|
| |
Automerge-Triggered-By: @csabella
|
|
|
|
| |
(#17171)
|
| |
|
| |
|
|
|
|
| |
(#17160)
|
|
|
|
|
| |
Add myself to the codeowners file as I would like to
be automatically added as a reviewer for PRs that touch
that component and its documentation.
|
| |
|
|
|
|
| |
argument (GH-17243)
|
| |
|
|
|
|
| |
This reverts commit bcc1cc5c, which removed an intentionally placed
"form feed" character.
|
|
|
|
|
|
|
| |
https://bugs.python.org/issue38722
Automerge-Triggered-By: @taleinat
|
| |
|
|
|
| |
https://bugs.python.org/issue38809
|
|
|
|
|
| |
If an exception is raised and PyInit__multibytecodec() returns NULL,
Python reports properly the exception to the user. There is no need
to crash Python with Py_FatalError().
|
|
|
|
| |
Replace Py_FatalError() with a regular RuntimeError exception in
float.__getformat__().
|
|
|
| |
`~` is now treated as an unreserved character (i.e. it doesn't get quoted), not a reserved one.
|
|
|
| |
https://bugs.python.org/issue38823
|
| |
|
|
|
|
|
| |
(GH-17170)" (#17219)
This reverts commit 111772fc27cfe388bc060f019d68a3e33481ec65.
|
| |
|
| |
|
|
|
|
| |
Return None instead of 1.
|
|
|
|
|
| |
Fix also the Path.symplink() method implementation for the case when
symlinks are not supported.
|
| |
|