PTHREAD_ATTR(3) BSD Library Functions Manual PTHREAD_ATTR(3)NAME
pthread_attr_getdetachstate, pthread_attr_setdetachstate — thread
attribute operations
SYNOPSIS
#include <pthread.h>
int
pthread_attr_getdetachstate(const pthread_attr_t *attr,
int *detachstate);
int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
DESCRIPTION
Thread attributes are used to specify parameters to pthread_create().
One attribute object can be used in multiple calls to pthread_create(),
with or without modifications between calls.
One of these thread attributes governs the creation state of the new
thread. The new thread can be either created "detached" or "joinable".
The constants corresponding to these states are PTHREAD_CREATE_DETACHED
and PTHREAD_CREATE_JOINABLE respectively. Creating a "joinable" thread
allows the user to call pthread_join() and pthread_detach(), with the new
thread's ID. A "detached" thread's ID cannot be used with pthread_join()
and pthread_detach(). The default value for the "detachstate" attribute
is PTHREAD_CREATE_JOINABLE.
The pthread_attr_setdetachstate() function sets the thread's "detach‐
state" attribute.
The "detachstate" attribute is set within the attr argument, which can
subsequently be used as an argument to pthread_create().
RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is
returned to indicate the error. pthread_attr_getdetachstate(), on suc‐
cess, will copy the value of the thread's "detachstate" attribute to the
location pointed to by the second function parameter.
ERRORSpthread_attr_getdetachstate() will fail if:
[EINVAL] Invalid value for attr
pthread_attr_setdetachstate() will fail if:
[EINVAL] Invalid value for attr or detachstate.
SEE ALSOpthread_create(3), pthread_join(3), pthread_attr_init(3),
pthread_detach(3)STANDARDSpthread_attr_setdetachstate(), pthread_attr_getdetachstate() conform to
ISO/IEC 9945-1:1996 (“POSIX.1”)
BSD December 31, 2007 BSD