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 15.1-STABLE-HBSD       October 25, 2014        PTHREAD_CLEANUP_PUSH(3)