Mercurial > cpython-lru_cache-weakref
diff Python/thread_pthread.h @ 19549:11a758c56027 legacy-trunk
GUSI on the Mac creates threads with a default stack size of 20KB, which is
not enough for Python. Increased the stacksize to a (somewhat arbitrary)
64KB.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Wed, 29 Aug 2001 15:24:53 +0000 |
| parents | 6f6f965c5e2d |
| children | 8ef456949b76 |
line wrap: on
line diff
--- a/Python/thread_pthread.h Wed Aug 29 02:34:10 2001 +0000 +++ b/Python/thread_pthread.h Wed Aug 29 15:24:53 2001 +0000 @@ -48,6 +48,13 @@ #endif +#ifdef USE_GUSI +/* The Macintosh GUSI I/O library sets the stackspace to +** 20KB, much too low. We up it to 64K. +*/ +#define THREAD_STACK_SIZE 0x10000 +#endif + /* set default attribute object for different versions */ @@ -128,10 +135,17 @@ { pthread_t th; int success; +#ifdef THREAD_STACK_SIZE + pthread_attr_t attrs; +#endif dprintf(("PyThread_start_new_thread called\n")); if (!initialized) PyThread_init_thread(); +#ifdef THREAD_STACK_SIZE + pthread_attr_init(&attrs); + pthread_attr_setstacksize(&attrs, THREAD_STACK_SIZE); +#endif success = pthread_create(&th, #if defined(PY_PTHREAD_D4) pthread_attr_default, @@ -146,12 +160,18 @@ func, arg #elif defined(PY_PTHREAD_STD) +#ifdef THREAD_STACK_SIZE + &attrs, +#else (pthread_attr_t*)NULL, +#endif (void* (*)(void *))func, (void *)arg #endif ); - +#ifdef THREAD_STACK_SIZE + pthread_attr_destroy(&attrs); +#endif if (success == 0) { #if defined(PY_PTHREAD_D4) || defined(PY_PTHREAD_D6) || defined(PY_PTHREAD_D7) pthread_detach(&th);
