Man

Command Section
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);)(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 11.1-RELEASE-p4        October 25, 2014        FreeBSD 11.1-RELEASE-p4
Command Section