PTHREAD_CLEANUP_POP(3C)                         Standard C Library Functions
NAME
       pthread_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
       prematurely 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(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       pthread_cancel(3C), 
pthread_cleanup_push(3C), 
pthread_exit(3C),       
pthread_join(3C), 
pthread_setcancelstate(3C),       
pthread_setcanceltype(3C), 
pthread_testcancel(3C), 
setjmp(3C),       
attributes(7), 
cancellation(7), 
condition(7), 
standards(7)NOTES
       See 
cancellation(7) for a discussion of cancellation concepts.
                               October 4, 2005       PTHREAD_CLEANUP_POP(3C)