Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pthread_setcancelstate(3T) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026