Standard C Library Functions pthreadexit(3C)
NAME
pthreadexit - terminate calling thread
SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include
void pthreadexit(void *valueptr);
DESCRIPTION
The pthreadexit() function terminates the calling thread,
in a similar way that exit(3C) terminates the calling pro-
cess. If the thread is not detached, the exit status speci-
fied by valueptr is made available to any successful join
with the terminating thread. See pthreadjoin(3C). Any can-
cellation 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 will be 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 per-
form any process level cleanup actions, including, but not
limited to, calling any atexit() routines that might exist.
An exiting thread runs with all signals blocked. All thread
termination functions, including cancellation cleanup
handlers and thread-specific data destructor functions, are
called with all signals blocked.
An implicit call to pthreadexit() 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 exit
status.
The behavior of pthreadexit() 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 pthreadexit().
After a thread has terminated, the result of access to local
(auto) variables of the thread is undefined. Thus, refer-
ences to local variables of the exiting thread should not be
used for the pthreadexit() valueptr parameter value.
SunOS 5.11 Last change: 2 Nov 2007 1
Standard C Library Functions pthreadexit(3C)
The process exits with an exit status of 0 after the last
thread has been terminated. The behavior is as if the imple-
mentation called exit() with a 0 argument at thread termina-
tion time.
RETURN VALUES
The pthreadexit() function cannot return to its caller.
ERORS
No errors are defined.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
Standard See standards(5).
SEE ALSO
exit(3C), pthreadcancel(3C), pthreadcreate(3C),
pthreadjoin(3C), pthreadkeycreate(3C), attributes(5),
standards(5)
SunOS 5.11 Last change: 2 Nov 2007 2
|