Yolinux.com

PTHREAD_ATTR_SETSTACKSIZE manpage

Search topic Section


PTHREAD_ATTR_SETSTACKSIZE(3Linux Programmer's ManuPTHREAD_ATTR_SETSTACKSIZE(3)



NAME
       pthread_attr_setstacksize,  pthread_attr_getstacksize  -	 set/get stack
       size attribute in thread attributes object

SYNOPSIS
       #include <pthread.h>

       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.

DESCRIPTION
       The pthread_attr_setstacksize() function sets the stack size  attribute
       of the thread attributes object referred to by attr to the value speci-
       fied in stacksize.

       The stack size attribute determines the minimum size  (in  bytes)  that
       will  be	 allocated  for	 threads  created  using the thread attributes
       object attr.

       The  pthread_attr_getstacksize()	 function  returns  the	  stack	  size
       attribute  of  the  thread attributes object referred to by attr in the
       buffer pointed to by stacksize.

RETURN VALUE
       On success, these functions return 0; on error, they return  a  nonzero
       error number.

ERRORS
       pthread_attr_setstacksize() can fail with the following error:

       EINVAL The stack size is less than PTHREAD_STACK_MIN (16384) bytes.

       On  some	 systems,  pthread_attr_setstacksize() can fail with the error
       EINVAL if stacksize is not a multiple of the system page size.

VERSIONS
       These functions are provided by glibc since version 2.1.

ATTRIBUTES
       For  an	explanation  of	 the  terms  used   in	 this	section,   see
       attributes(7).

       +-----------------------------+---------------+---------+
       |Interface		     | Attribute     | Value   |
       +-----------------------------+---------------+---------+
       |pthread_attr_setstacksize(), | Thread safety | MT-Safe |
       |pthread_attr_getstacksize()  |		     |	       |
       +-----------------------------+---------------+---------+
CONFORMING TO
       POSIX.1-2001, POSIX.1-2008.

NOTES
       For details on the default stack size of new threads, see  pthread_cre-
       ate(3).

       A  thread's  stack  size is fixed at the time of thread creation.  Only
       the main thread can dynamically grow its stack.

       The pthread_attr_setstack(3) function allows an application to set both
       the size and location of a caller-allocated stack that is to be used by
       a thread.

BUGS
       As at glibc 2.8, if the	specified  stacksize  is  not  a  multiple  of
       STACK_ALIGN  (16	 bytes on most architectures), it may be rounded down-
       ward, in violation of POSIX.1, which says that the allocated stack will
       be at least stacksize bytes.

EXAMPLE
       See pthread_create(3).

SEE ALSO
       getrlimit(2),	pthread_attr_init(3),	 pthread_attr_setguardsize(3),
       pthread_attr_setstack(3), pthread_create(3), pthreads(7)

COLOPHON
       This page is part of release 4.10 of the Linux  man-pages  project.   A
       description  of	the project, information about reporting bugs, and the
       latest	 version    of	  this	  page,	   can	   be	  found	    at
       https://www.kernel.org/doc/man-pages/.



Linux				  2015-08-08	  PTHREAD_ATTR_SETSTACKSIZE(3)