Commit 7ca97d52 authored by Ned Deily's avatar Ned Deily

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

Mac OS X to prevent interpreter crashes when compiled on 10.7.
parent 69437da1
...@@ -22,6 +22,9 @@ Core and Builtins ...@@ -22,6 +22,9 @@ Core and Builtins
Library 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 #10543: Fix unittest test discovery with Jython bytecode files.
- Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under - Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under
......
...@@ -19,14 +19,18 @@ ...@@ -19,14 +19,18 @@
#define THREAD_STACK_SIZE 0 /* use default stack size */ #define THREAD_STACK_SIZE 0 /* use default stack size */
#endif #endif
#if (defined(__APPLE__) || defined(__FreeBSD__)) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0 /* The default stack size for new threads on OSX and BSD is small enough that
/* The default stack size for new threads on OSX is small enough that
* we'll get hard crashes instead of 'maximum recursion depth exceeded' * we'll get hard crashes instead of 'maximum recursion depth exceeded'
* exceptions. * exceptions.
* *
* The default stack size below is the minimal stack size where a * The default stack sizes below are the empirically determined minimal stack
* simple recursive function doesn't cause a hard crash. * 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 #undef THREAD_STACK_SIZE
#define THREAD_STACK_SIZE 0x400000 #define THREAD_STACK_SIZE 0x400000
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment