Provided by: glibc-doc_2.3.6-0ubuntu20_all bug

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).

                                 LinuxThreads                PTHREAD_DETACH(3)