[Python-checkins] r70908 - in python/trunk: Misc/ACKS Misc/NEWS Modules/_multiprocessing/win32_functions.c Python/pythonrun.c

jesse.noller python-checkins at python.org
Wed Apr 1 00:20:36 CEST 2009


Author: jesse.noller
Date: Wed Apr 1 00:20:35 2009
New Revision: 70908
Log:
Issue 5619: Pass MS CRT debug flags into subprocesses
Modified:
 python/trunk/Misc/ACKS
 python/trunk/Misc/NEWS
 python/trunk/Modules/_multiprocessing/win32_functions.c
 python/trunk/Python/pythonrun.c
Modified: python/trunk/Misc/ACKS
==============================================================================
--- python/trunk/Misc/ACKS	(original)
+++ python/trunk/Misc/ACKS	Wed Apr 1 00:20:35 2009
@@ -685,6 +685,7 @@
 Nathan Sullivan
 Mark Summerfield
 Hisao Suzuki
+Andrew Svetlov
 Kalle Svensson
 Paul Swartz
 Thenault Sylvain
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Wed Apr 1 00:20:35 2009
@@ -199,6 +199,9 @@
 Library
 -------
 
+- Issue #5619: Multiprocessing children disobey the debug flag and causes
+ popups on windows buildbots. Patch applied to work around this issue.
+
 - Issue #5632: Thread.ident was None for the main thread and threads not created
 with the threading module.
 
Modified: python/trunk/Modules/_multiprocessing/win32_functions.c
==============================================================================
--- python/trunk/Modules/_multiprocessing/win32_functions.c	(original)
+++ python/trunk/Modules/_multiprocessing/win32_functions.c	Wed Apr 1 00:20:35 2009
@@ -130,6 +130,12 @@
 	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;
Modified: python/trunk/Python/pythonrun.c
==============================================================================
--- python/trunk/Python/pythonrun.c	(original)
+++ python/trunk/Python/pythonrun.c	Wed Apr 1 00:20:35 2009
@@ -1634,6 +1634,8 @@
 Py_FatalError(const char *msg)
 {
 	fprintf(stderr, "Fatal Python error: %s\n", msg);
+	fflush(stderr); /* it helps in Windows debug build */
+
 #ifdef MS_WINDOWS
 	{
 		size_t len = strlen(msg);


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /