A thread terminates due to
pthread_exit(),
pthread_kill(),
or
pthread_cancel(), or returns from the start routine
of the thread in a POSIX environment. When a thread issues a
exit() or
_exit() or
encounters an unhandled condition, that thread terminates and all
other active threads are also forced to terminate. The
z/OS UNIX (POSIX)
environment supports multiple threads; each thread is terminated,
as follows:
- The stack storage associated with the thread is freed
- Language Environment user-written
condition handlers are run, if present
- The thread status is set
- Cleanup handlers and destructor routines are driven
- The stack is collapsed
- HLL members are called for thread termination
For more detailed information about POSIX functions, refer to the
following resources: