pthread_cancel Subroutine
Purpose
Requests the cancellation of a thread.
Library
Threads Library (libpthreads.a)
Syntax
#include <pthread.h>
int pthread_cancel (thread)
pthread_t thread;
Description
The pthread_cancel subroutine requests the cancellation of the thread thread. The action depends on the cancelability of the target thread:
- If its cancelability is disabled, the cancellation request is set pending.
- If its cancelability is deferred, the cancellation request is set pending till the thread reaches a cancellation point.
- If its cancelability is asynchronous, the cancellation request is acted upon immediately; in some cases, it may result in unexpected behavior.
The cancellation of a thread terminates it safely, using the same termination procedure as the pthread_exit subroutine.
Note: The pthread.h header file must be the first
included file of each source file using the threads library. Otherwise,
the -D_THREAD_SAFE compilation flag should be used, or the
cc_r compiler used. In this case, the flag is automatically set.
Parameters
Item | Description |
---|---|
thread | Specifies the thread to be canceled. |
Return Values
If successful, the pthread_cancel function returns zero. Otherwise, an error number is returned to indicate the error.
Error Codes
The ptread_cancel function may fail if:
Item | Description |
---|---|
ESRCH | No thread could be found corresponding to that specified by the given thread ID. |
The pthread_cancel function will not return an error code of EINTR.