pthread_exit() — cause the calling thread to terminate
The calling thread's exit status.
terminates the calling thread.
The calling thread returns an exit status in
This value is returned to a joining thread calling
on the terminating thread.
Only threads created with the
can return an exit status to
The exit status of a detached thread is lost when the thread terminates.
When a thread terminates, process-shared resources are not released.
Examples of process-shared resources include mutexes, condition variables,
semaphores, message queue descriptors, and file descriptors.
routines are not called when a thread terminates as this is a process
An implicit call to
is made when a thread returns from its start routine.
The function's return value serves as the thread's exit status (see
If the main thread returns from
the process will exit using the return value from
as the exit status.
If the main thread calls
the process will continue executing until the last thread
terminates or a thread calls
After the last thread in the process terminates, the process will exit
with an exit status of zero.
Any installed cancellation
cleanup handlers will be popped and executed in
the reverse order that they were installed.
After the cancellation cleanup handlers have been executed, if the thread
has any non-NULL
thread-specific data values with associated destructor functions,
the destructor functions are called.
The order in which these destructor functions are called is unspecified.
from a cancellation cleanup handler or destructor
function that was invoked because of thread termination results in
After a thread has terminated, the result of access to local (auto) variables
of the thread is undefined.
The terminating thread should not use local variables for the
None, this function does not return.
was derived from the IEEE POSIX P1003.1c standard.
pthread_exit(): POSIX 1003.1c.