PTHREAD_CLEANUP_PUSH(3)

NAME
pthread_cleanup_push - add a cleanup function for thread exit

SYNOPSIS
#include <pthread.h>
void
pthread_cleanup_push(void *cleanup_routinevoid *, 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 p1003.1-96.