PTHREAD_DETACH(3C) Standard C Library Functions PTHREAD_DETACH(3C)

pthread_detach - detach a thread

cc -mt [ flag... ] file... -lpthread [ library... ]
#include <pthread.h>
int pthread_detach(pthread_t thread);

The pthread_detach() function is used to indicate to the implementation that storage for the thread thread can be reclaimed when that thread terminates. In other words, pthread_detach() dynamically resets the detachstate attribute of the thread to PTHREAD_CREATE_DETACHED. After a successful call to this function, it would not be necessary to reclaim the thread using pthread_join(). See pthread_join(3C). If thread has not terminated, pthread_detach() will not cause it to terminate. The effect of multiple pthread_detach() calls on the same target thread is unspecified.

If successful, pthread_detach() returns 0. Otherwise, an error number is returned to indicate the error.

The pthread_detach() function will 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.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe

pthread_create(3C), pthread_join(3C), attributes(7), standards(7)

March 23, 2005 OmniOS