pthread_attr_setstacksize, pthread_attr_getstacksize - set/get stack size
attribute in thread attributes object
int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize);
Compile and link with -pthread.
() function sets the stack size attribute of
the thread attributes object referred to by attr
to the value specified
The stack size attribute determines the minimum size (in bytes) that will be
allocated for threads created using the thread attributes object attr
() function returns the stack size attribute
of the thread attributes object referred to by attr
in the buffer
pointed to by stacksize
On success, these functions return 0; on error, they return a nonzero error
() can fail with the following error:
- The stack size is less than PTHREAD_STACK_MIN (16384) bytes.
On some systems, pthread_attr_setstacksize
() can fail with the error
is not a multiple of the system page size.
These functions are provided by glibc since version 2.1.
Multithreading (see pthreads(7))¶
() and pthread_attr_getstacksize
functions are thread-safe.
For details on the default stack size of new threads, see
A thread's stack size is fixed at the time of thread creation. Only the main
thread can dynamically grow its stack.
function allows an application to set both
the size and location of a caller-allocated stack that is to be used by a
As at glibc 2.8, if the specified stacksize
is not a multiple of
(16 bytes on most architectures), it may be rounded
, in violation of POSIX.1-2001, which says that the allocated
stack will be at least stacksize
This page is part of release 3.74 of the Linux man-pages
description of the project, information about reporting bugs, and the latest
version of this page, can be found at