PTHREAD_ATTR_SETDETACHSTATE(3)

NAME
pthread_attr_setdetachstate, pthread_attr_getdetachstate - set and get detachstate attribute

SYNOPSIS
libpthread
#include <pthread.h>
int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int
pthread_attr_getdetachstate(pthread_attr_t *attr, int *detachstate);

DESCRIPTION
The detachstate attribute controls whether the thread is created in a detached state. If the thread is created detached, then use of the ID of the newly created thread by the pthread_detach(3) or pthread_join(3) function is an error.

The pthread_attr_setdetachstate() and pthread_attr_getdetachstate() functions, respectively, set and get the detachstate attribute in the attr object.

The detachstate can be set to either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE. A value of PTHREAD_CREATE_DETACHED causes all threads created with attr to be in the detached state, whereas using a value of PTHREAD_CREATE_JOINABLE causes all threads created with attr to be in the joinable state. The default value of the detachstate attribute is PTHREAD_CREATE_JOINABLE.

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

The pthread_attr_getdetachstate() function stores the value of the detachstate attribute in detachstate if successful.

ERRORS
The pthread_attr_setdetachstate() function will fail if:

[EINVAL]
    The value of detachstate was not valid.

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

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

STANDARDS
pthread_attr_setdetachstate() and pthread_attr_getdetachstate() conform to ISO/IEC 9945-1 ANSI/IEEE (“POSIX”) Std 1003.1 Second Edition 1996-07-12.