Issue #14184: Increase the default stack size for secondary threads on

Mac OS X to prevent interpreter crashes when compiled on 10.7.
This commit is contained in:
Ned Deily 2012-03-13 11:18:18 -07:00
parent 69437da15f
commit 7ca97d5208
2 changed files with 15 additions and 8 deletions

View File

@ -22,6 +22,9 @@ Core and Builtins
Library
-------
- Issue #14184: Increase the default stack size for secondary threads on
Mac OS X to avoid interpreter crashes when using threads on 10.7.
- Issue #10543: Fix unittest test discovery with Jython bytecode files.
- Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under

View File

@ -19,14 +19,18 @@
#define THREAD_STACK_SIZE 0 /* use default stack size */
#endif
#if (defined(__APPLE__) || defined(__FreeBSD__)) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
/* The default stack size for new threads on OSX is small enough that
* we'll get hard crashes instead of 'maximum recursion depth exceeded'
* exceptions.
*
* The default stack size below is the minimal stack size where a
* simple recursive function doesn't cause a hard crash.
*/
/* The default stack size for new threads on OSX and BSD is small enough that
* we'll get hard crashes instead of 'maximum recursion depth exceeded'
* exceptions.
*
* The default stack sizes below are the empirically determined minimal stack
* sizes where a simple recursive function doesn't cause a hard crash.
*/
#if defined(__APPLE__) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
#undef THREAD_STACK_SIZE
#define THREAD_STACK_SIZE 0x500000
#endif
#if defined(__FreeBSD__) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
#undef THREAD_STACK_SIZE
#define THREAD_STACK_SIZE 0x400000
#endif