|
pthread_cleanup_pop(3)
Contents
|
pthread_cleanup_pop - (Macro) Removes the cleanup handler
routine from the calling thread's cleanup handler stack
and optionally executes it
#include <pthread.h>
int pthread_cleanup_pop(
int execute );
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Interface
Integer that specifies whether the cleanup handler routine
specified in the matching call to pthread_cleanup_push(3)
is executed. A nonzero value causes the cleanup handler
routine to be executed.
This routine removes the cleanup handler routine established
by the matching call to pthread_cleanup_push(3)
from the calling thread's cleanup handler stack, then executes
it if the value specified in this routine's execute
argument is nonzero.
A cleanup handler routine can be used to clean up from a
block of code whether exited by normal completion, cancellation,
or the raising (or reraising) of an exception. The
routine is popped from the calling thread's cleanup handler
stack and is executed with the arg argument when any
of the following actions 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_push(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 corresponding right brace (}).
None
Functions: pthread_cancel(3), pthread_cleanup_push(3),
pthread_create(3), pthread_exit(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_cleanup_pop(3)
[ Back ] |