# pthread_attr_setdetachstate

## NAME



           pthread_attr_setdetachstate, pthread_attr_getdetachstate - set/get
           detach state attribute in thread attributes object
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <pthread.h>**
    
           **int pthread_attr_setdetachstate(pthread_attr_t ***_attr_**, int** _detachstate_**);**
           **int pthread_attr_getdetachstate(const pthread_attr_t ***_attr_**,**
                                           **int ***_detachstate_**);**
    


## DESCRIPTION



           The **pthread_attr_setdetachstate**() function sets the detach state
           attribute of the thread attributes object referred to by _attr_ to
           the value specified in _detachstate_.  The detach state attribute
           determines whether a thread created using the thread attributes
           object _attr_ will be created in a joinable or a detached state.
    
           The following values may be specified in _detachstate_ :
    
           **PTHREAD_CREATE_DETACHED**
                  Threads that are created using _attr_ will be created in a
                  detached state.
    
           **PTHREAD_CREATE_JOINABLE**
                  Threads that are created using _attr_ will be created in a
                  joinable state.
    
           The default setting of the detach state attribute in a newly
           initialized thread attributes object is **PTHREAD_CREATE_JOINABLE**.
    
           The **pthread_attr_getdetachstate**() returns the detach state
           attribute of the thread attributes object _attr_ in the buffer
           pointed to by _detachstate_.
    


## RETURN VALUE



           On success, these functions return 0; on error, they return a
           nonzero error number.
    


## ERRORS



           **pthread_attr_setdetachstate**() can fail with the following error:
    
           **EINVAL** An invalid value was specified in _detachstate_.
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────────────────────────────┬───────────────┬─────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **pthread_attr_setdetachstate**(),       │ Thread safety │ MT-Safe │
           │ **pthread_attr_getdetachstate**()        │               │         │
           └──────────────────────────────────────┴───────────────┴─────────┘
    


## STANDARDS



           POSIX.1-2008.
    


## NOTES



           See pthread_create(3) for more details on detached and joinable
           threads.
    
           A thread that is created in a joinable state should eventually
           either be joined using pthread_join(3) or detached using
           pthread_detach(3); see pthread_create(3).
    
           It is an error to specify the thread ID of a thread that was
           created in a detached state in a later call to pthread_detach(3)
           or pthread_join(3).
    


## EXAMPLES



           See pthread_attr_init(3).
    


* * *