# HG changeset patch # User Steve Dower # Date 1423707772 28800 # Wed Feb 11 18:22:52 2015 -0800 # Node ID 554ff1da963bcf6ba0fa5ee48c629907cd4871f1 # Parent 4828cb77bf2a74d2255a29c7a2b850adb23f4369 23314: Suppress assert dialogs when faulthandler is enabled or PYTHONNOCRTASSERT is set. diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -9,6 +9,9 @@ #endif #ifdef MS_WINDOWS # include +#ifdef _DEBUG +# include +#endif #endif #ifdef HAVE_SYS_RESOURCE_H # include @@ -357,6 +360,10 @@ if (!fatal_error.enabled) { fatal_error.enabled = 1; +#if defined MS_WINDOWS && defined _DEBUG + _CrtSetReportMode(_CRT_ASSERT, 0); +#endif + for (i=0; i < faulthandler_nsignals; i++) { handler = &faulthandler_handlers[i]; #ifdef HAVE_SIGACTION diff --git a/Modules/main.c b/Modules/main.c --- a/Modules/main.c +++ b/Modules/main.c @@ -517,6 +517,12 @@ (p = Py_GETENV("PYTHONNOUSERSITE")) && *p != '\0') Py_NoUserSiteDirectory = 1; +#if defined MS_WINDOWS && defined _DEBUG + if ((p = Py_GETENV("PYTHONNOCRTASSERT")) && *p != '\0') { + _CrtSetReportMode(_CRT_ASSERT, 0); + } +#endif + #ifdef MS_WINDOWS if (!Py_IgnoreEnvironmentFlag && (wp = _wgetenv(L"PYTHONWARNINGS")) && *wp != L'\0') {