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

개요

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

pthread_cleanup_push(3c)

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 to‐
       ken 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