Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for pthread_cleanup_pop (opensolaris section 3c)

pthread_cleanup_pop(3C) 				   Standard C Library Functions 				   pthread_cleanup_pop(3C)

pthread_cleanup_pop - pop a thread cancellation cleanup handler
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> void pthread_cleanup_pop(int execute);
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.
The pthread_cleanup_pop() function returns no value.
No errors are defined. The pthread_cleanup_pop() function will not return an error code of EINTR.
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+
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(5), cancellation(5), condition(5), standards(5)
See cancellation(5) for a discussion of cancellation concepts. SunOS 5.11 4 Oct 2005 pthread_cleanup_pop(3C)