Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PTHREAD_ATTR_SETSTA... FreeBSD Library Functions Manual	PTHREAD_ATTR_SETSTA...

NAME
     pthread_attr_setstack, pthread_attr_getstack -- set and get stack at-
     tributes

SYNOPSIS
     #include <pthread.h>

     int
     pthread_attr_setstack(pthread_attr_t *attr, void *stackaddr,
	 size_t	stacksize);

     int
     pthread_attr_getstack(const pthread_attr_t	*attr, void **stackaddr,
	 size_t	*stacksize);

DESCRIPTION
     The functions pthread_attr_setstack() and pthread_attr_getstack(),	re-
     spectively, set and get the thread	creation stackaddr and stacksize at-
     tributes in the attr object.

     The stack attributes specify the area of storage to be used for the cre-
     ated thread's stack.  The base (lowest addressable	byte) of the storage
     shall be stackaddr, and the size of the storage shall be stacksize	bytes.
     The stacksize shall be at least PTHREAD_STACK_MIN.

     On	OpenBSD	the provided stack must	be page-aligned.  It will be replaced
     (meaning zeroed) with a new MAP_ANON | MAP_STACK mapping.	The passed
     memory object should not be deallocated or	reused,	even when the thread
     using it has terminated.  If there	is no need for a specific memory ob-
     ject as stack, the	pthread_attr_setstacksize(3) function should be	used.

RETURN VALUES
     Upon successful completion, pthread_attr_setstack() and
     pthread_attr_getstack() return a value of 0.  Otherwise, an error number
     is	returned to indicate the error.

     The pthread_attr_getstack() function stores the stackaddr attribute value
     in	stackaddr and the stacksize attribute value in stacksize if success-
     ful.

ERRORS
     The pthread_attr_setstack() function will fail if:

     [EINVAL]		The value of stacksize is less than PTHREAD_STACK_MIN
			or exceeds a system-imposed limit or the value of
			stackaddr is NULL.

     These functions will not return an	error code of [EINTR].

SEE ALSO
     pthread_attr_init(3), pthread_attr_setdetachstate(3),
     pthread_attr_setguardsize(3), pthread_attr_setstackaddr(3),
     pthread_attr_setstacksize(3), pthread_create(3), pthreads(3)

STANDARDS
     pthread_attr_setstack() and pthread_attr_getstack() conform to ISO/IEC
     9945-1 ANSI/IEEE ("POSIX")	Std 1003.1, 2004 Edition.

FreeBSD	13.0		       December	3, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pthread_attr_setstack&sektion=3&manpath=OpenBSD+6.9>

home | help