summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Noller <jnoller@gmail.com>2009-03-31 22:36:44 (GMT)
committerJesse Noller <jnoller@gmail.com>2009-03-31 22:36:44 (GMT)
commita931404804bd2243ae549af5e102860a68eb5fca (patch)
tree635742140701e813541e64a284d4e0d69fbfc9fb
parentbaf518046c9d5044572abcd74e7da1b097c946f6 (diff)
downloadcpython-a931404804bd2243ae549af5e102860a68eb5fca.zip
cpython-a931404804bd2243ae549af5e102860a68eb5fca.tar.gz
cpython-a931404804bd2243ae549af5e102860a68eb5fca.tar.bz2
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 ........
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_multiprocessing/win32_functions.c6
-rw-r--r--Python/pythonrun.c1
4 files changed, 11 insertions, 0 deletions
diff --git a/Misc/ACKS b/Misc/ACKS
index 7d4c1bf..8ca5b7f 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -689,6 +689,7 @@ Daniel Stutzbach
Nathan Sullivan
Mark Summerfield
Hisao Suzuki
+Andrew Svetlov
Kalle Svensson
Andrew Svetlov
Paul Swartz
diff --git a/Misc/NEWS b/Misc/NEWS
index a52e37a..916a2c9 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -53,6 +53,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 #5400: Added patch for multiprocessing on netbsd compilation/support
- Issue #5387: Fixed mmap.move crash by integer overflow.
diff --git a/Modules/_multiprocessing/win32_functions.c b/Modules/_multiprocessing/win32_functions.c
index 379a495..ba82c23 100644
--- a/Modules/_multiprocessing/win32_functions.c
+++ b/Modules/_multiprocessing/win32_functions.c
@@ -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;
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 7add832..27c9d23 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -2006,6 +2006,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();
}