VMS Help  —  DCE  DCE_THREADS, Application Routines, pthread_cleanup_push
 NAME

    pthread_cleanup_push - Establishes a cleanup handler

 SYNOPSIS

     #include <pthread.h>

     void pthread_cleanup_push( void routine,
                                 pthread_addr_t arg );

 PARAMETERS

     routine              Routine executed as the cleanup handler.

     arg                  Parameter executed with the cleanup routine.

 DESCRIPTION

 The pthread_cleanup_push() routine pushes the specified routine onto the
 calling thread's cleanup stack. The cleanup routine is popped from the
 stack and executed with the arg parameter when any of the following
 actions occur:

     o   The thread calls pthread_exit().

     o   The thread is canceled.

     o   The thread calls pthread_cleanup_pop() and specifies a nonzero
         value for the execute parameter.

 This routine and pthread_cleanup_pop() are  implemented  as  macros  and
 must  be  displayed  as  statements and in pairs within the same lexical
 scope.  You can think of the pthread_cleanup_push() macro  as  expanding
 to   a   string   whose   first  character  is  a  {  (left  brace)  and
 pthread_cleanup_pop()  as  expanding  to   a   string   containing   the
 corresponding } (right brace).

 RETURN VALUES

 This routine must be used as a statement.

 RELATED INFORMATION

     FUNCTIONS:  pthread_cancel
                 pthread_cleanup_pop
                 pthread_exit
                 pthread_testcancel
Close Help