From 00bc6ccb786aa2976cc6c405738247359539854c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 10 May 2011 01:30:03 +0200 Subject: [PATCH] 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. --- Modules/faulthandler.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index 6cf06ad2420..3549af5367b 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -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; }