void pthread_exit(void *status);
The pthread_exit() function terminates the calling
thread and makes the value status
available to any successful join with the terminating thread. Any
cancellation cleanup handlers that have been pushed and not yet
popped are popped in the reverse order that they were pushed and
then executed. After all cancellation cleanup handlers have been
executed, if the thread has any thread-specific data, appropriate
destructor functions are called in an unspecified order.
Thread termination does not release any application visible
process resources, including, but not limited to, mutexes and
file descriptors, nor does it performs any process-level cleanup
actions, including, but not limited to, calling any
atexit() routines that may exist.
An implicit call to pthread_exit()
is made when a thread other than the thread in which main()
was first invoked returns from the start routine that was used to
create it. The function's return value serves as the thread's
The behavior of pthread_exit()
is undefined if called from a cancellation cleanup handler or
destructor function that was invoked as a result of either an
implicit or explicit call to pthread_exit().
After a thread has terminated, the result of access to local (auto) variables
of the thread is undefined. References to local variables of the exiting thread
should not be used for the pthread_exit()
status parameter value.
The process exits with an exit
status of 0 after the last thread has been terminated. The
behavior is as if exit() was called with a zero argument.
Is the exit status for the thread.
POSIX P1003.1 (1996)
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
- exit(), pthread_cleanup_push(), pthread_create(), pthread_join(), pthread_key_create()
PTC MKS Toolkit 10.3 Documentation Build 39.