mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN)
The constant PTHREAD_STACK_MIN may be too small for some processors. Rename _SC_SIGSTKSZ_SOURCE to _DYNAMIC_STACK_SIZE_SOURCE. When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) which is changed to MIN (PTHREAD_STACK_MIN, sysconf(_SC_MINSIGSTKSZ)). Consolidate <bits/local_lim.h> with <bits/pthread_stack_min.h> to provide a constant target specific PTHREAD_STACK_MIN value. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
@ -38,11 +38,6 @@
|
||||
|
||||
const size_t kNumThreads = 1024;
|
||||
const size_t kNumHandlers = 1024;
|
||||
const size_t kStacksize =
|
||||
#ifdef PTHREAD_STACK_MIN
|
||||
0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN :
|
||||
#endif
|
||||
0x20000;
|
||||
|
||||
static void *
|
||||
threadfunc (void *unused)
|
||||
@ -66,6 +61,12 @@ do_test (void)
|
||||
/* With default 8MiB Linux stack size, creating 1024 threads can cause
|
||||
VM exhausiton on 32-bit machines. Reduce stack size of each thread to
|
||||
128KiB for a maximum required VM size of 128MiB. */
|
||||
size_t kStacksize =
|
||||
#ifdef PTHREAD_STACK_MIN
|
||||
0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN :
|
||||
#endif
|
||||
0x20000;
|
||||
|
||||
xpthread_attr_setstacksize (&attr, kStacksize);
|
||||
|
||||
for (i = 0; i < kNumThreads; ++i) {
|
||||
|
Reference in New Issue
Block a user