Set a thread's cancellation type
Synopsis:
#include <pthread.h>
int pthread_setcanceltype( int type,
int* oldtype );
Arguments:
- type
- The new cancellation type.
- oldtype
- A pointer to a location where the function can store the old cancellation type.
This parameter can be NULL if you don't want to store the old value.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
The pthread_setcanceltype() function sets the calling
thread's cancellation type to type and returns the
previous cancellation type in oldtype.
The cancellation type can have the following values:
- PTHREAD_CANCEL_ASYNCHRONOUS
- If cancellation is enabled, new or pending cancellation requests
may be acted on immediately.
- PTHREAD_CANCEL_DEFERRED
- If cancellation is enabled, cancellation requests are held pending
until a cancellation point.
The default cancellation state for a thread is
PTHREAD_CANCEL_DEFERRED. Note that the standard POSIX and
C library calls aren't asynchronous-cancellation safe.
Note:
You can set this attribute (in a non-POSIX way) before creating the thread;
for more information, see
QNX extensions,
in the documentation for
pthread_create().
Returns:
- EOK
- Success.
- EINVAL
- Invalid cancelability type type.
Classification:
POSIX 1003.1
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |