pthread_setcancelstate(3T)
NAME
pthread_setcancelstate − enable or disable cancellation
SYNOPSIS
#include <pthread.h>
int pthread_setcancelstate(int state, int ∗ oldstate );
DESCRIPTION
pthread_setcancelstate() 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(3T) 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(3T) for the definition of a cancellation point. See pthread_setcanceltype(3T) for explanations of deferred and asynchronous cancellation.
pthread_setcancelstate() is a cancellation point when it is called with PTHREAD_CANCEL_ENABLE and the cancellation type is PTHREAD_CANCEL_ASYNCHRONOUS.
RETURN VALUES
When successful, pthread_setcancelstate(), returns 0; otherwise, an error number is returned.
ERRORS
For the following condition, pthread_setcancelstate() returns the corresponding error when the condition is detected:
EINVAL The specified state is not PTHREAD_CANCEL_ENABLE or PTHREAD_CANCEL_DISABLE.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe |
SEE ALSO
cancellation(3T), condition(3T), pthread_cancel(3T), pthread_cleanup_pop(3T), pthread_cleanup_push(3T), pthread_exit(3T), pthread_join(3T), pthread_setcanceltype(3T), pthread_testcancel(3T), setjmp(3C), attributes(5)
NOTES
See the cancellation(3T) page for a discussion of cancellation concepts.
SunOS 5.6 — Last change: 6 Jan 1997