PTHREAD_DETACH(3)

NAME
pthread_detach - put a running thread in the detached state

SYNOPSIS
#include <pthread.h> int pthread_detach(pthread_t th);

DESCRIPTION
!pthread_detach! put the thread |th| in the detached state. This guarantees that the memory resources consumed by |th| will be freed immediately when |th| terminates. However, this prevents other threads from synchronizing on the termination of |th| using !pthread_join!. A thread can be created initially in the detached state, using the !detachstate! attribute to !pthread_create!(3). In contrast, !pthread_detach! applies to threads created in the joinable state, and which need to be put in the detached state later. After !pthread_detach! completes, subsequent attempts to perform !pthread_join! on |th| will fail. If another thread is already joining the thread |th| at the time !pthread_detach! is called, !pthread_detach! does nothing and leaves |th| in the joinable state.

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

ERRORS

!ESRCH!
    No thread could be found corresponding to that specified by |th|

!EINVAL!
    the thread |th| is already in the detached state

AUTHOR
Xavier Leroy <Xavier.Leroy@inria.fr>

SEE ALSO
!pthread_create!(3), !pthread_join!(3), !pthread_attr_setdetachstate!(3).