Standard C Library Functions pthreadcleanuppush(3C)
NAME
pthreadcleanuppush - push a thread cancellation cleanup
handler
SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include
void pthreadcleanuppush(void (*handler) (void *), void *arg);
DESCRIPTION
The pthreadcleanuppush() function pushes the specified
cancellation cleanup handler routine, handler, onto the can-
cellation cleanup stack of the calling thread.
When a thread exits or is canceled and its cancellation
cleanup stack is not empty, the cleanup handlers are
invoked with the argument arg in last in, first out (LIFO)
order from the cancellation cleanup stack.
An exiting or cancelled thread runs with all signals
blocked. All thread termination functions, including cancel-
lation cleanup handlers, are called with all signals
blocked.
The pthreadcleanuppush() and pthreadcleanuppop(3C) func-
tions can be implemented as macros. The application must
ensure that they appear as statements, and in pairs within
the same lexical scope (that is, the pthreadcleanuppush()
macro can be thought to expand to a token list whose first
token is '{' with pthreadcleanuppop() expanding to a token
list whose last token is the corresponding '}').
The effect of the use of return, break, continue, and goto
to prematurely leave a code block described by a pair of
pthreadcleanuppush() and pthreadcleanuppop() function
calls is undefined.
Using longjmp() or siglongjmp() to jump into or out of a
push/pop pair can cause either the matching push or the
matching pop statement not getting executed.
RETURN VALUES
The pthreadcleanuppush() function returns no value.
SunOS 5.11 Last change: 2 Nov 2007 1
Standard C Library Functions pthreadcleanuppush(3C)
ERORS
No errors are defined.
The pthreadcleanuppush() function will not return an
error code of EINTR.
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
longjmp(3C), pthreadcancel(3C), pthreadcleanuppop(3C),
pthreadexit(3C), pthreadjoin(3C),
pthreadsetcancelstate(3C), pthreadsetcanceltype(3C),
pthreadtestcancel(3C), attributes(5), cancellation(5), con-
dition(5), standards(5)
NOTES
See cancellation(5) for a discussion of cancellation con-
cepts.
SunOS 5.11 Last change: 2 Nov 2007 2
|