Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_cleanup_pop(3) [netbsd man page]

PTHREAD_CLEANUP(3)					   BSD Library Functions Manual 					PTHREAD_CLEANUP(3)

NAME
pthread_cleanup_push, pthread_cleanup_pop -- add and remove cleanup functions for thread exit LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> void pthread_cleanup_push(void (*cleanup_routine)(void *), void *arg); void pthread_cleanup_pop(int execute); 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. 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. RETURN VALUES
Neither pthread_cleanup_push() nor pthread_cleanup_pop() returns a value. ERRORS
None. SEE ALSO
pthread_exit(3) STANDARDS
Both functions conform to IEEE Std 1003.1-2001 (``POSIX.1''). BSD
July 9, 2010 BSD

Check Out this Related 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

Featured Tech Videos