PTHREAD_ATTR(3) Library Functions Manual PTHREAD_ATTR(3)

pthread_attr_getdetachstate, pthread_attr_setdetachstatethread attribute operations

#include <pthread.h>

int
pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);

int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);

Thread attributes are used to specify parameters to (). 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 () and (), 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 () function sets the thread's "detachstate" attribute.

The "detachstate" attribute is set within the attr argument, which can subsequently be used as an argument to ().

If successful, these functions return 0. Otherwise, an error number is returned to indicate the error. pthread_attr_getdetachstate(), on success, will copy the value of the thread's "detachstate" attribute to the location pointed to by the second function parameter.

pthread_attr_getdetachstate() will fail if:

[]
Invalid value for attr

pthread_attr_setdetachstate() will fail if:

[]
Invalid value for attr or detachstate.

pthread_create(3), pthread_join(3), pthread_attr_init(3), pthread_detach(3)

pthread_attr_setdetachstate(), pthread_attr_getdetachstate() conform to ISO/IEC 9945-1:1996 (“POSIX.1”)

December 31, 2007 macOS 14.6