| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
* bpo-6532: Make the thread id an unsigned integer.
From C API side the type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), the id parameter of
PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState
changed from "long" to "unsigned long".
* Restore a check in thread_get_ident().
|
|
|
|
| |
possible. Patch is writen with Coccinelle.
|
|
|
|
| |
Don't declare dead code when the code is declared with Clang.
|
| |
|
| |
|
|
|
|
| |
Directly pass NULL rather than an empty string.
|
| |
|
|\
| |
| |
| | |
messages.
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Restore the previous code for stack_overflow().
|
| |
| |
| |
| |
| |
| |
| |
| | |
Issue #23848, #26622:
* faulthandler now only logs fatal Windows exceptions.
* write error code as decimal, not as hexadecimal
* replace "Windows exception" with "Windows fatal exception"
|
| |
| |
| |
| |
| |
| | |
Issue #23848: On Windows, faulthandler.enable() now also installs an exception
handler to dump the traceback of all Python threads on any Windows exception,
not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT).
|
|/
|
|
|
|
|
|
|
|
|
| |
Issue #26563:
* Add _PyGILState_GetInterpreterStateUnsafe() function: the single
PyInterpreterState used by this process' GILState implementation.
* Enhance _Py_DumpTracebackThreads() to retrieve the interpreter state from
autoInterpreterState in last resort. The function now accepts NULL for interp
and current_tstate parameters.
* test_faulthandler: fix a ResourceWarning when test is interrupted by CTRL+c
|
|
|
|
| |
Issue #26558.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which
gets the current thread state, but don't call Py_FatalError() if it is NULL.
Python 3.5.1 removed the _PyThreadState_Current symbol from the Python C API to
no more expose complex and private atomic types. Atomic types depends on the
compiler or can even depend on compiler options. The new function
_PyThreadState_UncheckedGet() allows to get the variable value without having
to care of the exact implementation of atomic types.
Changes:
* Replace direct usage of the _PyThreadState_Current variable with a call to
_PyThreadState_UncheckedGet().
* In pystate.c, replace direct usage of the _PyThreadState_Current variable
with the PyThreadState_GET() macro for readability.
* Document also PyThreadState_Get() in pystate.h
|
|
|
|
| |
macro Py_SETREF.
|
|\
| |
| |
| |
| | |
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
|
| |
| |
| |
| |
| | |
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to its signal handlers.
Use also _Py_write_noraise() instead of write() to retry write() if it is
interrupted by a signal (fail with EINTR).
faulthandler.dump_traceback() also calls PyErr_CheckSignals() to call the
Python signal handler if a signal was received.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Issue #23654: Turn off ICC's tail call optimization for the stack_overflow
generator. ICC turns the recursive tail call into a loop.
Patch written by Matt Frank.
|
| |
| |
| |
| | |
functions of faulthandler now accept file descriptors. Patch by Wei Wu.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
Fix undefined behaviour: don't compare pointers. Use Py_uintptr_t type instead
of void*. It fixes test_faulthandler on Fedora 22 which now uses GCC 5.
|
|\ \
| |/
| |
| |
| |
| |
| | |
_read_null(), because _read_null() cannot be used on AIX. On AIX, reading from
NULL is allowed: the first page of memory is a mapped read-only on AIX.
_read_null() and _sigabrt() don't accept parameters.
|
| |
| |
| |
| |
| | |
because _read_null() cannot be used on AIX. On AIX, reading from NULL is
allowed: the first page of memory is a mapped read-only on AIX.
|
| | |
|
| |
| |
| |
| | |
crash.
|
|/
|
|
|
|
|
|
| |
- Use _testcapi.raise_signal() in test_signal
- close also os.pipe() file descriptors in some test_signal tests where they
were not closed properly
- Remove faulthandler._sigill() and faulthandler._sigbus(): reuse
_testcapi.raise_signal() in test_faulthandler
|
|
|
|
|
| |
None: RuntimeError("sys.stderr is None") instead of AttributeError("'NoneType'
object has no attribute 'fileno'").
|
|\ |
|
| |
| |
| |
| | |
Report and patch by Vajrasky Kok.
|
| |
| |
| |
| |
| |
| |
| | |
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
|
| |
| |
| |
| |
| |
| |
| | |
instead of creating temporary Unicode string objects
Add also more identifiers in pythonrun.c to avoid temporary Unicode string
objets for the interactive interpreter.
|
| |
| |
| |
| |
| | |
faulthandler module if the variable is non-empty. Same behaviour than other
variables like PYTHONDONTWRITEBYTECODE.
|
| |
| |
| |
| |
| | |
Replace strdup() with _PyMem_RawStrdup() or _PyMem_Strdup(), depending if the
GIL is held or not.
|
|\ \
| |/
| |
| |
| | |
handler when the function is called twice, so faulthandler.unregister()
restores correctly the original signal handler.
|
| |
| |
| |
| |
| | |
when the function is called twice, so faulthandler.unregister() restores
correctly the original signal handler.
|
| | |
|
|/ |
|
|
|
|
| |
module.
|
|
|
|
| |
Restore the errno before calling the previous signal handler, and not after.
|
|
|
|
|
| |
Don't exit the tstate is NULL to restore the errno and chain the signal handler
if needed.
|
| |
|
|
|
|
| |
Clang 3.0 removes "y = *x;" instruction if the optimisation level is 3.
|
| |
|