pthread_cleanup_pop(3C) Standard C Library Functions pthread_cleanup_pop(3C)NAMEpthread_cleanup_pop - pop a thread cancellation cleanup handler
SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include <pthread.h>
void pthread_cleanup_pop(int execute);
DESCRIPTION
The pthread_cleanup_pop() function removes the cleanup handler routine
at the top of the cancellation cleanup stack of the calling thread and
executes it if execute is non-zero.
When the thread calls pthread_cleanup_pop() with a non-zero execute
argument, the argument at the top of the stack is popped and executed.
An argument of 0 pops the handler without executing it.
The pthread_cleanup_push(3C) and pthread_cleanup_pop() functions 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
pthread_cleanup_push() macro can be thought to expand to a token list
whose first token is '{' with pthread_cleanup_pop() expanding to a
token list whose last token is the corresponding '}').
The effect of the use of return, break, continue, and goto to prema‐
turely leave a code block described by a pair of pthread_cleanup_push()
and pthread_cleanup_pop() function calls is undefined.
Using longjmp() or siglongjmp() to jump into or out of a push/pop pair
can result in either the matching push or the matching pop statement
not getting executed.
RETURN VALUES
The pthread_cleanup_pop() function returns no value.
ERRORS
No errors are defined.
The pthread_cleanup_pop() function will not return an error code of
EINTR.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOpthread_cancel(3C), pthread_cleanup_push(3C), pthread_exit(3C),
pthread_join(3C), pthread_setcancelstate(3C), pthread_setcancel‐
type(3C), pthread_testcancel(3C), setjmp(3C), attributes(5), cancella‐
tion(5), condition(5), standards(5)NOTES
See cancellation(5) for a discussion of cancellation concepts.
SunOS 5.10 4 Oct 2005 pthread_cleanup_pop(3C)