.TH PTHREAD_DETACH 3 LinuxThreads

.SH NAME
pthread_detach \- put a running thread in the detached state

.SH SYNOPSIS
.B #include 

.BI "int pthread_detach(pthread_t " th ");"

.SH DESCRIPTION
.B "pthread_detach"
put the thread 
.I "th"
in the detached state. This
guarantees that the memory resources consumed by 
.I "th"
will be freed
immediately when 
.I "th"
terminates. However, this prevents other threads
from synchronizing on the termination of 
.I "th"
using 
.BR "pthread_join" .

A thread can be created initially in the detached state, using the
.B "detachstate"
attribute to 
.BR "pthread_create" (3).
In contrast,
.B "pthread_detach"
applies to threads created in the joinable state, and
which need to be put in the detached state later.

After 
.B "pthread_detach"
completes, subsequent attempts to perform
.B "pthread_join"
on 
.I "th"
will fail. If another thread is already joining
the thread 
.I "th"
at the time 
.B "pthread_detach"
is called,
.B "pthread_detach"
does nothing and leaves 
.I "th"
in the joinable state.

.SH "RETURN VALUE"
On success, 0 is returned. On error, a non-zero error code is returned.

.SH ERRORS
.TP
.B "ESRCH"
No thread could be found corresponding to that specified by 
.I "th"
.TP
.B "EINVAL"
the thread 
.I "th"
is already in the detached state

.SH AUTHOR
Xavier Leroy 

.SH "SEE ALSO"
.BR "pthread_create" (3),
.BR "pthread_join" (3),
.BR "pthread_attr_setdetachstate" (3)






www.fiveanddime.net







Google
Web www.fiveanddime.net