PTHREAD_SETCANCELSTATE(3C) Standard C Library Functions
NAME
pthread_setcancelstate - enable or disable cancellation
SYNOPSIS
cc -mt [
flag... ]
file... -lpthread [
library... ]
#include <pthread.h>
int pthread_setcancelstate(
int state,
int *oldstate);
DESCRIPTION
The
pthread_setcancelstate() function atomically sets the calling
thread's cancellation state to the specified
state and if
oldstate is
not
NULL, stores the previous cancellation
state in
oldstate.
The
state can be either of the following:
PTHREAD_CANCEL_ENABLE This is the default. When cancellation is deferred (deferred
cancellation is also the default), cancellation occurs when the
target thread reaches a cancellation point and a cancel is
pending. When cancellation is asynchronous, receipt of a
pthread_cancel(3C) call causes immediate cancellation.
PTHREAD_CANCEL_DISABLE When cancellation is deferred, all cancellation requests to the
target thread are held pending. When cancellation is
asynchronous, all cancellation requests to the target thread are
held pending; as soon as cancellation is re-enabled, pending
cancellations are executed immediately.
See
cancellation(7) for the definition of a cancellation point and a
discussion of cancellation concepts. See
pthread_setcanceltype(3C) for explanations of deferred and asynchronous cancellation.
RETURN VALUES
Upon successful completion,
pthread_setcancelstate(), returns
0.
Otherwise, an error number is returned to indicate the error.
ERRORS
The
pthread_setcancelstate() function will fail if:
EINVAL The specified
state is not
PTHREAD_CANCEL_ENABLE or
PTHREAD_CANCEL_DISABLE.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | MT-Safe |
+--------------------+-------------------+
|Standard | See
standards(7). |
+--------------------+-------------------+
SEE ALSO
pthread_cancel(3C),
pthread_cleanup_pop(3C),
pthread_cleanup_push(3C),
pthread_exit(3C),
pthread_join(3C),
pthread_setcanceltype(3C),
pthread_testcancel(3C),
setjmp(3C),
attributes(7),
cancellation(7),
condition(7),
standards(7) January 22, 2008 PTHREAD_SETCANCELSTATE(3C)