[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

pthread_setcanceltype()

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.

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 THR

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pthread_cancel(), pthread_setcancelstate(), pthread_testcancel()


[Previous] [Contents] [Index] [Next]