Mercurial > cpython-lru_cache-weakref
diff Python/thread.c @ 38794:f7d23bca599f legacy-trunk
Patch #1454481: Make thread stack size runtime tunable.
Heavily revised, comprising revisions:
46640 - original trunk revision (backed out in r46655)
46647 - markup fix (backed out in r46655)
46692:46918 merged from branch aimacintyre-sf1454481
branch tested on buildbots (Windows buildbots had problems
not related to these changes).
| author | Andrew MacIntyre <andymac@bullseye.apana.org.au> |
|---|---|
| date | Tue, 13 Jun 2006 15:04:24 +0000 |
| parents | c4587a5f5e94 |
| children | 7c09b66f04bd |
line wrap: on
line diff
--- a/Python/thread.c Tue Jun 13 12:04:43 2006 +0000 +++ b/Python/thread.c Tue Jun 13 15:04:24 2006 +0000 @@ -95,6 +95,11 @@ PyThread__init_thread(); } +/* Support for runtime thread stack size tuning. + A value of 0 means using the platform's default stack size + or the size specified by the THREAD_STACK_SIZE macro. */ +static size_t _pythread_stacksize = 0; + #ifdef SGI_THREADS #include "thread_sgi.h" #endif @@ -150,6 +155,28 @@ #endif */ +/* return the current thread stack size */ +size_t +PyThread_get_stacksize(void) +{ + return _pythread_stacksize; +} + +/* Only platforms defining a THREAD_SET_STACKSIZE() macro + in thread_<platform>.h support changing the stack size. + Return 0 if stack size is valid, + -1 if stack size value is invalid, + -2 if setting stack size is not supported. */ +int +PyThread_set_stacksize(size_t size) +{ +#if defined(THREAD_SET_STACKSIZE) + return THREAD_SET_STACKSIZE(size); +#else + return -2; +#endif +} + #ifndef Py_HAVE_NATIVE_TLS /* If the platform has not supplied a platform specific TLS implementation, provide our own.
