|
pthread_setcanceltype(3)
Contents
|
pthread_setcanceltype - Sets the current thread's cancelability
type
#include <pthread.h>
int pthread_setcanceltype(
int type,
int *oldtype );
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Interface
The cancelability type to set for the calling thread. The
following are valid values: PTHREAD_CANCEL_DEFERRED
PTHREAD_CANCEL_ASYNCHRONOUS The previous cancelability
type.
This routine sets the cancelability type and returns the
previous type in oldtype.
When the cancelability state is set to PTHREAD_CANCEL_DISABLE,
(see pthread_setcancelstate), a cancel cannot be
delivered to the thread, even if a cancelable routine is
called or asynchronous cancelability type is enabled.
When the cancelability state is set to PTHREAD_CANCEL_ENABLE,
cancelability depends on the thread's cancelability
type. If the thread's cancelability type is set to
PTHREAD_CANCEL_DEFERRED, the thread can only receive a
cancel at specific cancellation points (including condition
waits, thread joins, and calls to pthread_testcancel.)
If the thread's cancelability type is PTHREAD_CANCEL_ASYNCHRONOUS,
the thread can be canceled at any point
in its execution.
When a thread is created, the default cancelability type
is PTHREAD_CANCEL_DEFERRED.
Warning If the asynchronous cancelability type is set, do
not call any routine unless it is explicitly documented as
safe to be called with the asynchronous cancelability
type. Note that none of the general run-time libraries and
none of the DECthreads libraries are safe except for
pthread_setcanceltype, pthread_setcancelstate, and
cma_alert_restore.
The asynchronous cancelability type should only be used
when you have a compute-bound section of code that carries
no state and makes no routine calls.
On successful completion, this routine returns the previous
cancelability type in oldtype.
If an error condition occurs, this routine returns an
integer value indicating the type of error. Possible
return values are as follows: Successful completion. The
specified type is not PTHREAD_CANCEL_DEFERRED or
PTHREAD_CANCEL_ASYNCHRONOUS.
None
Functions: pthread_cancel(3), pthread_setcancelstate(3),
pthread_testcancel(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_setcanceltype(3)
[ Back ] |