Implement PYTHONNOERRORWINDOW.
This commit is contained in:
parent
ef0f129133
commit
945362cf97
|
@ -9,11 +9,16 @@
|
|||
#endif
|
||||
|
||||
#if defined(MS_WINDOWS) || defined(__CYGWIN__)
|
||||
#include <windows.h>
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#if (defined(PYOS_OS2) && !defined(PYCC_GCC)) || defined(MS_WINDOWS)
|
||||
#define PYTHONHOMEHELP "<prefix>\\lib"
|
||||
#else
|
||||
|
@ -323,6 +328,25 @@ Py_Main(int argc, char **argv)
|
|||
(p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0')
|
||||
unbuffered = 1;
|
||||
|
||||
#ifdef MS_WINDOWS
|
||||
if ((p = Py_GETENV("PYTHONNOERRORWINDOW")) && *p != '\0') {
|
||||
/* Disable all error windows created by the sytem
|
||||
or the CRT. */
|
||||
#if defined(_DEBUG) && defined(_MSC_VER)
|
||||
int types[] = {_CRT_WARN, _CRT_ERROR, _CRT_ASSERT};
|
||||
int i;
|
||||
for (i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
|
||||
_CrtSetReportFile(types[i], _CRTDBG_FILE_STDERR);
|
||||
_CrtSetReportMode(types[i], _CRTDBG_MODE_FILE);
|
||||
}
|
||||
_set_error_mode(_OUT_TO_STDERR);
|
||||
#endif
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT |
|
||||
SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
if (command == NULL && module == NULL && _PyOS_optind < argc &&
|
||||
strcmp(argv[_PyOS_optind], "-") != 0)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
@rem Used by the buildbot "test" step.
|
||||
cd PCbuild
|
||||
set PYTHONNOERRORWINDOW=1
|
||||
call rt.bat -d -q -uall -rw
|
||||
|
|
Loading…
Reference in New Issue