556  



pthread_cleanup_pop, pthread_cleanup_push   -
    .



THR    #include <pthread.h>

void pthread_cleanup_pop (int execute) ;

void pthread_cleanup_push (void (* routine} (void*),
void *arg};



 pthread_cleanup_pop ()    , -
     ,   
    ,    ( 
execute   ).

 pthread_cleanup_push()      -
    routine,    -
    .     
          :

   (..    pthread_exit ());

       ;

    pthread_cleanup_pop ()   
 execute.

     .   ,
             
  (  pthread_cleanup_push ()   -
 ,   '{',   pthread_cleanup_pop () -
   ,    '}').

   longjmpO  siglongjmp ()  , -
      pthread_cleanup_push()  
pthread_cleanup_pop()   ""    -
  .    longjmpO 
siglongjmp ()  ,    -
    ,   .

 

 pthread_cleanup_push()  hread_cleanup_pop()  
 .