pthread_cleanup_push(3) [freebsd man page]
PTHREAD_CLEANUP_PUSH(3) BSD Library Functions Manual PTHREAD_CLEANUP_PUSH(3) NAME
pthread_cleanup_push -- add a cleanup function for thread exit LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> void pthread_cleanup_push(void (*cleanup_routine)(void *), void *arg); DESCRIPTION
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. When cleanup_routine is called, it is passed arg as its only argument. The pthread_cleanup_push() function is implemented as a macro that opens a new block. Invocations of this function must appear as standalone statements that are paired with a later call of pthread_cleanup_pop(3) in the same lexical scope. RETURN VALUES
The pthread_cleanup_push() function does not return any value. ERRORS
None SEE ALSO
pthread_cleanup_pop(3), pthread_exit(3) STANDARDS
The pthread_cleanup_push() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
October 25, 2014 BSD
Check Out this Related Man Page
PTHREAD_CLEANUP_POP(3) BSD Library Functions Manual PTHREAD_CLEANUP_POP(3) NAME
pthread_cleanup_pop -- call the first cleanup routine LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> void pthread_cleanup_pop(int execute); DESCRIPTION
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. If there is no cleanup routine then pthread_cleanup_pop() does nothing. The pthread_cleanup_pop() function is implemented as a macro that closes a block. Invocations of this function must appear as standalone statements that are paired with an earlier call of pthread_cleanup_push(3) in the same lexical scope. RETURN VALUES
The pthread_cleanup_pop() function does not return any value. ERRORS
None SEE ALSO
pthread_cleanup_push(3), pthread_exit(3) STANDARDS
The pthread_cleanup_pop() function conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
October 25, 2014 BSD