GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


man:pthread_detach

PTHREAD_DETACH(3) Linux Programmer's Manual PTHREAD_DETACH(3)

NAME

     pthread_detach - detach a thread

SYNOPSIS

     #include <pthread.h>
     int pthread_detach(pthread_t thread);
     Compile and link with -pthread.

DESCRIPTION

     The  pthread_detach() function marks the thread identified by thread as
     detached.  When a detached thread terminates, its resources  are  auto-
     matically  released  back  to  the  system without the need for another
     thread to join with the terminated thread.
     Attempting to detach an already detached thread results in  unspecified
     behavior.

RETURN VALUE

     On  success,  pthread_detach() returns 0; on error, it returns an error
     number.

ERRORS

     EINVAL thread is not a joinable thread.
     ESRCH  No thread with the ID thread could be found.

ATTRIBUTES

     For  an  explanation  of  the  terms  used   in   this   section,   see
     attributes(7).
     +-----------------+---------------+---------+
     |Interface        | Attribute     | Value   |
     +-----------------+---------------+---------+
     |pthread_detach() | Thread safety | MT-Safe |
     +-----------------+---------------+---------+

CONFORMING TO

     POSIX.1-2001, POSIX.1-2008.

NOTES

     Once   a   thread   has   been   detached,  it  can't  be  joined  with
     pthread_join(3) or be made joinable again.
     A new thread can be created in a detached state using pthread_attr_set-
     detachstate(3)  to  set  the detached attribute of the attr argument of
     pthread_create(3).
     The detached attribute merely determines the  behavior  of  the  system
     when  the  thread terminates; it does not prevent the thread from being
     terminated if the process terminates using exit(3) (or equivalently, if
     the main thread returns).
     Either  pthread_join(3)  or  pthread_detach() should be called for each
     thread that an application creates, so that system  resources  for  the
     thread  can  be  released.  (But note that the resources of any threads
     for which one of these actions has not been done will be freed when the
     process terminates.)

EXAMPLE

     The following statement detaches the calling thread:
         pthread_detach(pthread_self());

SEE ALSO

     pthread_attr_setdetachstate(3),  pthread_cancel(3),  pthread_create(3),
     pthread_exit(3), pthread_join(3), pthreads(7)

COLOPHON

     This page is part of release 4.16 of the Linux  man-pages  project.   A
     description  of  the project, information about reporting bugs, and the
     latest    version    of    this    page,    can     be     found     at
     https://www.kernel.org/doc/man-pages/.

Linux 2017-09-15 PTHREAD_DETACH(3)

/home/gen.uk/domains/wiki.gen.uk/public_html/data/pages/man/pthread_detach.txt · Last modified: 2019/05/17 09:47 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki