/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


PTHREAD_DETACH(3P)                                  POSIX Programmer's Manual                                 PTHREAD_DETACH(3P)



PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may differ (con-
       sult the corresponding Linux manual page for details of Linux behavior), or the  interface  may  not  be  implemented  on
       Linux.

NAME
       pthread_detach - detach a thread

SYNOPSIS
       #include <pthread.h>

       int pthread_detach(pthread_t thread);


DESCRIPTION
       The  pthread_detach()  function  shall indicate to the implementation that storage for the thread thread can be reclaimed
       when that thread terminates. If thread has not terminated, pthread_detach() shall not cause it to terminate.  The  effect
       of multiple pthread_detach() calls on the same target thread is unspecified.

RETURN VALUE
       If  the  call  succeeds,  pthread_detach()  shall  return 0; otherwise, an error number shall be returned to indicate the
       error.

ERRORS
       The pthread_detach() function shall fail if:

       EINVAL The implementation has detected that the value specified by thread does not refer to a joinable thread.

       ESRCH  No thread could be found corresponding to that specified by the given thread ID.


       The pthread_detach() function shall not return an error code of [EINTR].

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       The pthread_join() or pthread_detach() functions should eventually be called for every thread that  is  created  so  that
       storage associated with the thread may be reclaimed.

       It has been suggested that a "detach" function is not necessary; the detachstate thread creation attribute is sufficient,
       since a thread need never be dynamically detached. However, need arises in at least two cases:

        1. In a cancellation handler for a pthread_join() it is nearly essential to have a pthread_detach() function in order to
           detach  the  thread  on  which  pthread_join()  was waiting. Without it, it would be necessary to have the handler do
           another pthread_join() to attempt to detach the thread, which would both delay the  cancellation  processing  for  an
           unbounded  period  and  introduce  a  new  call  to pthread_join(), which might itself need a cancellation handler. A
           dynamic detach is nearly essential in this case.

        2. In order to detach the "initial thread" (as may be desirable in processes that set up server threads).

FUTURE DIRECTIONS
       None.

SEE ALSO
       pthread_join(), the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003  Edition,  Standard  for
       Information  Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copy-
       right (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any
       discrepancy  between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group
       Standard  is  the  referee   document.   The   original   Standard   can   be   obtained   online   at   http://www.open-
       group.org/unix/online.html .



IEEE/The Open Group                                           2003                                            PTHREAD_DETACH(3P)

Valid XHTML 1.0!Valid CSS!