PTHREAD_ATTR_SETDETACHSTATE(3) manual page
Table of Contents
pthread_attr_setdetachstate, pthread_attr_getdetachstate
- set/get detach state attribute in thread attributes object
#include <pthread.h>int pthread_attr_setdetachstate(pthread_attr_t *attrint
" detachstate );
int pthread_attr_getdetachstate(const pthread_attr_t *attrint *" detachstate
);
Compile and link with -pthread.
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.
On success, these functions
return 0; on error, they return a nonzero error number.
pthread_attr_setdetachstate()
can fail with the following error:
- EINVAL
- An invalid value was specified
in detachstate.
The pthread_attr_setdetachstate()
and pthread_attr_getdetachstate() functions are thread-safe.
POSIX.1-2001.
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)
.
See pthread_attr_init(3)
.
pthread_attr_init(3)
,
pthread_create(3)
, pthread_detach(3)
, pthread_join(3)
, pthreads(7)
This
page is part of release 3.78 of the Linux man-pages project. A description
of the project, information about reporting bugs, and the latest version
of this page, can be found at http://www.kernel.org/doc/man-pages/.
Table of Contents