| PTHREAD_CANCEL(3) | Library Functions Manual | PTHREAD_CANCEL(3) |
pthread_cancel —
cancel execution of a thread
POSIX Threads Library (libpthread, -lpthread)
#include
<pthread.h>
int
pthread_cancel(pthread_t
thread);
The
pthread_cancel()
function requests that thread be canceled. The target
thread's cancelability state and type determines whether and when the target
thread reacts to the cancellation request.
PTHREAD_CANCEL_ENABLE:
the cancelability type determines when the actual cancellation occurs.
This is the default.PTHREAD_CANCEL_DISABLE:
the request from pthread_cancel() remains
queued until the cancellation is enabled by the thread.PTHREAD_CANCEL_DEFERRED:
the cancellation will be delayed until the thread calls a function
that is a cancellation point. This is the default. The available
cancellation points are listed in
pthread_setcanceltype(3).PTHREAD_CANCEL_ASYNCHRONOUS:
the thread can be canceled at any time.When the thread reacts to the cancellation request, the following occur:
The cancellation processing in the target
thread runs asynchronously with respect to the calling thread returning from
pthread_cancel().
A status of PTHREAD_CANCELED is made
available to any threads joining with the target. The symbolic constant
PTHREAD_CANCELED expands to a constant expression of
type (void *), whose value matches no pointer to an
object in memory nor the value NULL.
If successful, the pthread_cancel()
functions will return zero. Otherwise an error number will be returned to
indicate the error.
The pthread_cancel() function may fail
if:
ESRCH]pthread_cleanup_pop(3), pthread_join(3), pthread_testcancel(3)
The function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
| July 9, 2010 | NetBSD 11.0 |