[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_cancel()

Cancel a thread

Synopsis:

#include <pthread.h>

int pthread_cancel( pthread_t thread );

Arguments:

thread
The ID of the thread that you want to cancel, which you can get when you call pthread_create() or pthread_self().

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_cancel() function requests that the target thread thread be canceled (terminated). The cancellation type and state of the target determine when the cancellation takes effect.

When the cancellation is acted on, the target's cancellation cleanup handlers are called. When the last cancellation cleanup handler returns, the target's thread-specific-data destructor functions are called. When the last destructor function returns, the target is terminated. Cancellation processing in the target thread runs asynchronously with respect to the calling thread.

Returns:

EOK
Success.
ESRCH
No thread with thread ID thread exists.

Classification:

POSIX 1003.1 THR

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

See also:

pthread_cleanup_push(), pthread_cleanup_pop(), pthread_cond_wait(), pthread_cond_timedwait(), pthread_exit(), pthread_join(), pthread_key_create(), pthread_setcancelstate(), pthread_setcanceltype(), pthread_testcancel(), ThreadCancel().


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