FreeBSD manual

download PDF document: pthread_cleanup_push.3.pdf

PTHREAD_CLEANUP_PUSH(3) FreeBSD Library Functions Manual
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").
FreeBSD 14.0-RELEASE-p11 October 25, 2014 FreeBSD 14.0-RELEASE-p11