Manual Page Result
0
Command: pthread_attr_setstack | Section: 3 | Source: OpenBSD | File: pthread_attr_setstack.3
PTHREAD_ATTR_SETSTACK(3) FreeBSD Library Functions Manual
NAME
pthread_attr_setstack, pthread_attr_getstack - set and get stack
attributes
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(),
respectively, set and get the thread creation stackaddr and stacksize
attributes in the attr object.
The stack attributes specify the area of storage to be used for the
created 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
object 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
successful.
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 14.1-RELEASE-p8 December 3, 2020 FreeBSD 14.1-RELEASE-p8