Manual Page Result
0
Command: pthread_cleanup_push | Section: 3 | Source: Digital UNIX | File: pthread_cleanup_push.3.gz
pthread_cleanup_push(3) Library Functions Manual pthread_cleanup_push(3)
NAME
pthread_cleanup_push - (Macro) Establishes a cleanup handler routine to
be executed when the thread exits or is canceled.
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
SYNOPSIS
#include <pthread.h>
int pthread_cleanup_push(
void (*routine)(void *),
void *arg);
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program Interface
PARAMETERS
Routine executed as the cleanup handler. Argument passed to the
cleanup routine.
DESCRIPTION
This routine pushes the specified routine onto the calling thread's
cleanup handler stack. The cleanup handler routine is popped from the
stack and executed with the arg argument when any of the following ac-
tions occur: The thread calls pthread_cleanup_pop(3) and specifies a
nonzero value for the execute argument. The thread calls
pthread_exit(3). The thread is canceled. An exception is raised and
is caught when DECthreads unwinds the calling thread's stack to the
lexical scope of the pthread_cleanup_push(3) and pthread_cleanup_pop(3)
pair.
This routine and pthread_cleanup_pop(3) are implemented as macros and
must appear as statements and in pairs within the same lexical scope.
You can think of the pthread_cleanup_push(3) macro as expanding to a
string whose first character is a left brace ({) and
pthread_cleanup_pop(3) as expanding to a string containing the corre-
sponding right brace (}).
RETURN VALUES
None
RELATED INFORMATION
Functions: pthread_cancel(3), pthread_cleanup_pop(3), pthread_cre-
ate(3), pthread_exit(3), thread_testcancel(3)
Manuals: Guide to DECthreads and Programmer's Guide
delim off
pthread_cleanup_push(3)