Author: Armin Rigo <[email protected]> Branch: Changeset: r62851:e2b3678c1e08 Date: 2013-03-27 23:33 +0100 http://bitbucket.org/pypy/pypy/changeset/e2b3678c1e08/
Log: Copy CPython:ecf0ef85c72a: threading fix for OS/X and FreeBSD. diff --git a/rpython/translator/c/src/thread_pthread.c b/rpython/translator/c/src/thread_pthread.c --- a/rpython/translator/c/src/thread_pthread.c +++ b/rpython/translator/c/src/thread_pthread.c @@ -36,6 +36,18 @@ # ifndef THREAD_STACK_SIZE # 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. + */ +# undef THREAD_STACK_SIZE +# define THREAD_STACK_SIZE 0x400000 +# endif /* for safety, ensure a viable minimum stacksize */ # define THREAD_STACK_MIN 0x8000 /* 32kB */ #else /* !_POSIX_THREAD_ATTR_STACKSIZE */ _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
