|
tis_setcancelstate(3)
Contents
|
tis_setcancelstate - Changes the calling thread's cancelability
state
#include <tis.h>
int tis_setcancelstate(
int state,
int *oldstate );
Standard C Library (libc.so, libc.a)
None
State of general cancelability to set for the calling
thread. Valid state values are as follows: PTHREAD_CANCEL_ENABLE
PTHREAD_CANCEL_DISABLE Receives the value of
the calling thread's previous cancelability state.
This routine sets the calling thread's cancelability state
to the value specified in the state argument and returns
the calling thread's previous cancelability state in the
location referenced by the oldstate argument.
When a thread's cancelability state is set to PTHREAD_CANCEL_DISABLE,
a cancellation request cannot be delivered to
the thread, even if a cancelable routine is called or
asynchronous cancelability is enabled.
When a thread is created, its default cancelability state
is PTHREAD_CANCEL_ENABLE. When this routine is called
prior to loading threads, the cancelability state propagates
to the initial thread in the executing program.
Possible Problems When Disabling Cancelability [Toc] [Back]
The most important use of a cancellation request is to
ensure that indefinite wait operations are terminated. For
example, a thread waiting on some network connection,
which might take days to respond (or might never respond),
should be made cancelable.
When a thread's cancelability state is disabled, no routine
called within that thread is cancelable. As a result,
the user is unable to cancel the operation. When disabling
cancelability, be sure that no long waits can occur or
that it is necessary for other reasons to defer cancellation
requests around that particular region of code.
On successful completion, this routine returns the calling
thread's previous cancelability state in the oldstate
argument.
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 state is not PTHREAD_CANCEL_ENABLE or
PTHREAD_CANCEL_DISABLE.
None
Functions: tis_testcancel(3)
Manuals: Guide to DECthreads and Programmer's Guide
tis_setcancelstate(3)
[ Back ] |