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
1 changed files with 5 additions and 7 deletions

View File

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