faulthandler: improve_sigabrt() on Visual Studio

Use _set_abort_behavior() + abort() instead of raise(SIGABRT) which may write
an error message and/or open a popup asking to report the fault.
This commit is contained in:
Victor Stinner 2011-05-10 01:30:03 +02:00
parent 660e62cd75
commit 00bc6ccb78

View file

@ -816,14 +816,12 @@ faulthandler_sigfpe(PyObject *self, PyObject *args)
static PyObject * static PyObject *
faulthandler_sigabrt(PyObject *self, PyObject *args) faulthandler_sigabrt(PyObject *self, PyObject *args)
{ {
#if _MSC_VER #ifdef _MSC_VER
/* If Python is compiled in debug mode with Visual Studio, abort() opens /* Visual Studio: configure abort() to not display an error message nor
a popup asking the user how to handle the assertion. Use raise(SIGABRT) open a popup asking to report the fault. */
instead. */ _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
raise(SIGABRT);
#else
abort();
#endif #endif
abort();
Py_RETURN_NONE; Py_RETURN_NONE;
} }