]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 70913 via svnmerge from
authorJesse Noller <jnoller@gmail.com>
Tue, 31 Mar 2009 22:42:05 +0000 (22:42 +0000)
committerJesse Noller <jnoller@gmail.com>
Tue, 31 Mar 2009 22:42:05 +0000 (22:42 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r70913 | jesse.noller | 2009-03-31 17:36:44 -0500 (Tue, 31 Mar 2009) | 9 lines

  Merged revisions 70908 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r70908 | jesse.noller | 2009-03-31 17:20:35 -0500 (Tue, 31 Mar 2009) | 1 line

    Issue 5619: Pass MS CRT debug flags into subprocesses
  ........
................

Misc/ACKS
Misc/NEWS
Modules/_multiprocessing/win32_functions.c
Python/pythonrun.c

index e48e1df29980aa01203808360ca2d252104cd5b8..a5ba8dca1d1193eb56aefc0dded28ffa21f38a63 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -674,6 +674,7 @@ Daniel Stutzbach
 Nathan Sullivan
 Mark Summerfield
 Hisao Suzuki
+Andrew Svetlov
 Kalle Svensson
 Andrew Svetlov
 Paul Swartz
index 5595fbc0e374f4b229a8dc8d7ce8bc9c99d0eb59..95bbb53c5b2837933aa29bba1b986ccda647db7b 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -30,6 +30,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #5619: Multiprocessing children disobey the debug flag and causes
+  popups on windows buildbots. Patch applied to work around this issue.
+
 - Issue #5387: Fixed mmap.move crash by integer overflow.
 
 - Issue #5595: Fix UnboundedLocalError in ntpath.ismount().
index 379a49515e37e02d5e14957d9454165f2a9c8283..ba82c23517c1c8da90472f201073b761a96e8b28 100644 (file)
@@ -130,6 +130,12 @@ win32_ExitProcess(PyObject *self, PyObject *args)
        if (!PyArg_ParseTuple(args, "I", &uExitCode))
                return NULL;
 
+       #if defined(Py_DEBUG)
+               SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOALIGNMENTFAULTEXCEPT|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX);
+               _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);
+       #endif
+
+
        ExitProcess(uExitCode);
 
        return NULL;
index 65c6f5f2da14598055728f2d7c2f51d5547a7784..bec1d027cf84e00d4b28b5a8d2d0a7e0b39a49c5 100644 (file)
@@ -1998,6 +1998,7 @@ void
 Py_FatalError(const char *msg)
 {
        fprintf(stderr, "Fatal Python error: %s\n", msg);
+       fflush(stderr); /* it helps in Windows debug build */
        if (PyErr_Occurred()) {
                PyErr_Print();
        }