pthread_cleanup_push(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
PTHREAD_CLEANUP(3)      NetBSD Library Functions Manual     PTHREAD_CLEANUP(3)


NAME
pthread_cleanup_push, pthread_cleanup_pop -- add and remove cleanup func- tions 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 delim- iters; 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''). NetBSD 9.99 July 9, 2010 NetBSD 9.99
Powered by man-cgi (2021-03-02). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.