pthread_cleanup_push(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

pthread_cleanup_push(3c)

Standard C Library Functions                          pthread_cleanup_push(3C)



NAME
       pthread_cleanup_push - push a thread cancellation cleanup handler

SYNOPSIS
       #include <pthread.h>

       void pthread_cleanup_push(void (*handler) (void *), void *arg);

DESCRIPTION
       The  pthread_cleanup_push()  function pushes the specified cancellation
       cleanup handler routine, handler, onto the cancellation  cleanup  stack
       of the calling thread.


       When  a  thread exits or is canceled and its cancellation cleanup stack
       is not empty, the cleanup handlers are invoked with the argument arg in
       last in, first out (LIFO) order from the cancellation cleanup stack.


       An  exiting  or  cancelled  thread  runs  with all signals blocked. All
       thread termination functions, including cancellation cleanup  handlers,
       are called with all signals blocked.


       The pthread_cleanup_push() and pthread_cleanup_pop(3C) functions can be
       implemented as macros. The application must ensure that they appear  as
       statements,  and  in  pairs within the same lexical scope (that is, the
       pthread_cleanup_push() macro can be thought to expand to a  token  list
       whose  first  token  is  '{'  with pthread_cleanup_pop() expanding to a
       token list whose last token is the corresponding '}').


       The effect of the use of return, break, continue, and  goto  to  prema‐
       turely leave a code block described by a pair of pthread_cleanup_push()
       and pthread_cleanup_pop() function calls is undefined.


       Using longjmp() or siglongjmp() to jump into or out of a push/pop  pair
       can  cause  either  the matching push or the matching pop statement not
       getting executed.

RETURN VALUES
       The pthread_cleanup_push() function returns no value.

ERRORS
       No errors are defined.


       The pthread_cleanup_push() function will not return an  error  code  of
       EINTR.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _  Stan‐
       dardSee standards(7).


SEE ALSO
       longjmp(3C),        pthread_cancel(3C),        pthread_cleanup_pop(3C),
       pthread_exit(3C),     pthread_join(3C),     pthread_setcancelstate(3C),
       pthread_setcanceltype(3C),  pthread_testcancel(3C), attributes(7), can‐
       cellation(7), condition(7), standards(7)

NOTES
       See cancellation(7) for a discussion of cancellation concepts.



Oracle Solaris 11.4               16 May 2014         pthread_cleanup_push(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3