pthread_cleanup_push_defer_np man page on Raspbian

Man page or keyword search:  
man Server   8174 pages
apropos Keyword Search (all sections)
Output format
Raspbian logo
[printable version]

PTHREAD_CLEANUP_PUSH_DEFER_Linux Programmer's PTHREAD_CLEANUP_PUSH_DEFER_NP(3)

NAME
       pthread_cleanup_push_defer_np,  pthread_cleanup_pop_restore_np  -  push
       and pop thread cancellation clean-up handlers while saving  cancelabil‐
       ity type

SYNOPSIS
       #include <pthread.h>

       void pthread_cleanup_push_defer_np(void (*routine)(void *),
					  void *arg);
       void pthread_cleanup_pop_restore_np(int execute);

       Compile and link with -pthread.

DESCRIPTION
       These   functions   are	 the   same   as  pthread_cleanup_push(3)  and
       pthread_cleanup_pop(3), except for the differences noted on this page.

       Like  pthread_cleanup_push(3),  pthread_cleanup_push_defer_np()	pushes
       routine	onto the thread's stack of cancellation clean-up handlers.  In
       addition, it also saves the thread's current  cancelability  type,  and
       sets  the  cancelability	 type  to  "deferred"  (see pthread_setcancel‐
       type(3)); this ensures that cancellation clean-up will  occur  even  if
       the thread's cancelability type was "asynchronous" before the the call.

       Like  pthread_cleanup_pop(3), pthread_cleanup_pop_restore_np() pops the
       top-most clean-up handler  from	the  thread's  stack  of  cancellation
       clean-up handlers.  In addition, it restores the thread's cancelability
       type   to    its	   value    at	  the	 time	 of    the    matching
       pthread_cleanup_push_defer_np().

       The  caller must ensure that calls to these functions are paired within
       the same function, and  at  the	same  lexical  nesting	level.	 Other
       restrictions apply, as described in pthread_cleanup_push(3).

       This sequence of calls:

	   pthread_cleanup_push_defer_np(routine, arg);
	   pthread_cleanup_pop_restore_np(execute);

       is equivalent to (but shorter and more efficient than):

	   int oldtype;

	   pthread_cleanup_push(routine, arg);
	   pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
	   ...
	   pthread_setcanceltype(oldtype, NULL);
	   pthread_cleanup_pop(execute);

CONFORMING TO
       These  functions are nonstandard GNU extensions; hence the suffix "_np"
       (nonportable) in the names.

SEE ALSO
       pthread_cancel(3), pthread_cleanup_push(3),  pthread_setcancelstate(3),
       pthread_testcancel(3), pthreads(7)

COLOPHON
       This  page  is  part of release 3.27 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.

Linux				  2008-12-04  PTHREAD_CLEANUP_PUSH_DEFER_NP(3)
[top]

List of man pages available for Raspbian

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net