pthread_exit - Terminates the calling thread
#include <pthread.h>
void pthread_exit(
void *value_ptr );
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. DECthreads 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
pthread_exit(3).
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) routine.
None
None
Functions: pthread_cancel(3), pthread_create(3),
pthread_detach(3), pthread_join(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_exit(3)
[ Back ] |