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 "detachstate" 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 success, will copy the value of the thread's "detachstate" attribute to the location pointed to by the second function parameter.

ERRORS
pthread_attr_getdetachstate() will fail if:

[EINVAL]
    Invalid value for attr

pthread_attr_setdetachstate() will fail if:

[EINVAL]
    Invalid value for attr or detachstate.

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

STANDARDS
pthread_attr_setdetachstate(), pthread_attr_getdetachstate() conform to p1003.1-96