pthread_detach(3T)                                       pthread_detach(3T)
                               Pthread Library

 NAME
      pthread_detach() - mark a thread as detached to reclaim its resources
      when it terminates.

 SYNOPSIS
      #include <pthread.h>

      int pthread_detach(
         pthread_t thread
      );

 PARAMETERS
           thread    Thread whose resources are to be reclaimed immediately
                     when it terminates.

 DESCRIPTION
      pthread_detach() is used to detach the thread thread.  When thread
      terminates, its resources will automatically be reclaimed by the
      system.  If thread has already terminated, pthread_detach() causes the
      resources of thread to be reclaimed by the system.

      pthread_detach() does not cause thread to terminate.

      Once a detached thread has terminated, its resources, including the
      thread ID, may be reused by the system. The return status of a
      detached thread is lost when the thread terminates.

      Calling this function multiple times for the same thread results in
      undefined behavior.

 RETURN VALUE
      Upon successful completion, pthread_detach() returns zero. Otherwise,
      an error number is returned to indicate the error (the errno variable
      is not set).

 ERRORS
      If any of the following occur, the pthread_detach() function returns
      the corresponding error number:

           [EINVAL]       thread does not refer to a joinable thread.

           [ESRCH]        No thread could be found corresponding to thread.

 AUTHOR
      pthread_detach() was derived from the IEEE POSIX P1003.1c standard.

 SEE ALSO
      pthread_create(3T), pthread_join(3T), wait(2).

 STANDARDS CONFORMANCE
      pthread_detach(): POSIX 1003.1c.