NetBSD 6.1.5 - man page for pthread_cleanup_push (netbsd section 3)
|Linux & Unix Commands - Search Man Pages
PTHREAD_CLEANUP(3) BSD Library Functions Manual PTHREAD_CLEANUP(3)
pthread_cleanup_push, pthread_cleanup_pop -- add and remove cleanup functions for thread
POSIX Threads Library (libpthread, -lpthread)
pthread_cleanup_push(void (*cleanup_routine)(void *), void *arg);
The pthread_cleanup_push() function adds cleanup_routine to the top of the stack of cleanup
handlers that get called when the current thread exits.
The pthread_cleanup_pop() function pops the top cleanup routine off of the current threads
cleanup routine stack, and, if execute is non-zero, it will execute the function.
When cleanup_routine is called, it is passed arg as its only argument.
These functions may be implemented as macros which contain scope delimiters; therefore,
there must be a matching pthread_cleanup_pop() for every pthread_cleanup_push() at the same
level of lexical scoping.
The effect of calling longjmp() or siglongjmp() is undefined after a call to
pthread_cleanup_push() but before the matching call to pthread_cleanup_pop() after the jump
buffer was filled.
Neither pthread_cleanup_push() nor pthread_cleanup_pop() returns a value.
Both functions conform to IEEE Std 1003.1-2001 (``POSIX.1'').
BSD July 9, 2010 BSD
All times are GMT -4. The time now is 07:06 PM.