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() or pthread_join()
function is an error.
The pthread_attr_getdetachstate() and
pthread_attr_setdetachstate() functions, respectively, shall get and
set the detachstate attribute in the attr object.
For pthread_attr_getdetachstate(), detachstate shall be set to
either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE.
For pthread_attr_setdetachstate(), the application shall set
detachstate to either PTHREAD_CREATE_DETACHED or
A value of PTHREAD_CREATE_DETACHED shall cause all threads created with
attr to be in the detached state, whereas using a value of
PTHREAD_CREATE_JOINABLE shall cause all threads created with attr to be
in the joinable state. The default value of the detachstate attribute
shall be PTHREAD_CREATE_JOINABLE.
Upon successful completion, pthread_attr_getdetachstate() and
pthread_attr_setdetachstate() shall return a value of 0; otherwise, an
error number shall be returned to indicate the error.
The pthread_attr_getdetachstate() function stores the value of the
detachstate attribute in detachstate if successful.
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy between
this version and the original IEEE and The Open Group Standard, the original
IEEE and The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.opengroup.org/unix/online.html