NAME | SYNOPSIS | API RESTRICTIONS | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ATTRIBUTES | SEE ALSO
$(OS_DIR)/lib/libpthreads.a #include <pthread.h>void pthread_exit(void *status);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
The pthread_exit() function terminates the calling thread. If the thread was created with a detachstate value of PTHREAD_CREATE_JOINABLE, the value status is made available to any successful pthread_join() with the terminating thread. System resources associated with the exiting thread are not freed until the pthread_join() completes. If the thread was created with a detachstate of PTHREAD_CREATE_DETACHED, the status argument is ignored. In this case, system resources associated with the exiting thread are freed by pthread_exit().
If the thread has any thread-specific data, the corresponding destructor functions are invoked in an unspecified order before the thread terminates. Thread termination does not release any application-visible actor resources, such as mutexes, condition variables, or timers.
An implicit call to pthread_exit() is made when any thread that was created with pthread_create() returns from its initial start_routine() function. The return value from the thread's initial function serves as the exit status.
Any thread, including the initial thread in the actor, may use pthread_exit() to terminate. Note that actor termination is never triggered automatically by the termination of any thread, including the initial thread, or of all threads. Program termination may be accomplished with an explicit call to exit.
If pthread_exit() is called recursively, for example from a per-thread data key destructor, results are undefined.
The current implementation does not support thread cancellation or cancellation cleanup handlers.
The pthread_exit() function does not return to its caller.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | API RESTRICTIONS | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ATTRIBUTES | SEE ALSO