comparison Python/thread_pthread.h @ 69220:3fe8fd2fd1d0 3.2

Issue #9670: merge with 3.2
author Ned Deily <nad@acm.org>
date Sat, 09 Apr 2011 12:37:55 -0700
parents 3c9232a684ae 378b40d71175
children 54edabf2846d 4c750091d8c5
comparison
equal deleted inserted replaced
69215:677e9a9beac2 69220:3fe8fd2fd1d0
15 /* The POSIX spec requires that use of pthread_attr_setstacksize 15 /* The POSIX spec requires that use of pthread_attr_setstacksize
16 be conditional on _POSIX_THREAD_ATTR_STACKSIZE being defined. */ 16 be conditional on _POSIX_THREAD_ATTR_STACKSIZE being defined. */
17 #ifdef _POSIX_THREAD_ATTR_STACKSIZE 17 #ifdef _POSIX_THREAD_ATTR_STACKSIZE
18 #ifndef THREAD_STACK_SIZE 18 #ifndef THREAD_STACK_SIZE
19 #define THREAD_STACK_SIZE 0 /* use default stack size */ 19 #define THREAD_STACK_SIZE 0 /* use default stack size */
20 #endif
21
22 #if (defined(__APPLE__) || defined(__FreeBSD__)) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
23 /* The default stack size for new threads on OSX is small enough that
24 * we'll get hard crashes instead of 'maximum recursion depth exceeded'
25 * exceptions.
26 *
27 * The default stack size below is the minimal stack size where a
28 * simple recursive function doesn't cause a hard crash.
29 */
30 #undef THREAD_STACK_SIZE
31 #define THREAD_STACK_SIZE 0x100000
20 #endif 32 #endif
21 /* for safety, ensure a viable minimum stacksize */ 33 /* for safety, ensure a viable minimum stacksize */
22 #define THREAD_STACK_MIN 0x8000 /* 32kB */ 34 #define THREAD_STACK_MIN 0x8000 /* 32kB */
23 #else /* !_POSIX_THREAD_ATTR_STACKSIZE */ 35 #else /* !_POSIX_THREAD_ATTR_STACKSIZE */
24 #ifdef THREAD_STACK_SIZE 36 #ifdef THREAD_STACK_SIZE