pthread_exit(3) Library Functions Manual pthread_exit(3)
pthread_exit - Terminates the calling thread.
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program Interface
Value copied and returned to the caller of pthread_join(3). Note that void * is used as a universal datatype, not as a pointer. DEC-
threads treats the value_ptr as a value and stores it to be returned by pthread_join(3).
This routine terminates the calling thread and makes a status value (value_ptr) available to any thread that calls pthread_join(3) and
specifies the terminating thread.
Any cleanup handlers that have been pushed and not yet popped from the stack, are popped in the reverse order that they were pushed and
then executed. After all cleanup handlers have been executed, appropriate destructor functions shall be called in an unspecified order if
the thread has any thread-specific data. Thread termination does not release any application-visible process resources, including, but not
limited to mutexes and file descriptors, nor does it perform any process-level cleanup actions, including, but not limited to calling any
atexit routine that may exist.
An implicit call to pthread_exit(3) is issued when a thread returns from the start routine that was used to create it. DECthreads writes
the function's return value as the return value in the thread's thread object. The process exits when the last running thread calls
After a thread has terminated, the result of access to local (that is, explicitly or implicitly declared auto) variables of the thread is
undefined. So, references to local variables of the existing thread should not be used for the value_ptr argument of the pthread_exit(3)
Functions: pthread_cancel(3), pthread_create(3), pthread_detach(3), pthread_join(3)
Manuals: Guide to DECthreads and Programmer's Guide