PTHREAD_CANCEL(3C) | Standard C Library Functions | PTHREAD_CANCEL(3C) |
pthread_cancel - cancel execution of a thread
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> int pthread_cancel(pthread_t target_thread);
The pthread_cancel() function requests that target_thread be canceled.
By default, cancellation is deferred until target_thread reaches a cancellation point. See cancellation(7).
Cancellation cleanup handlers for target_thread are called when the cancellation is acted on. Upon return of the last cancellation cleanup handler, the thread-specific data destructor functions are called for target_thread. target_thread is terminated when the last destructor function returns.
A thread acting on a cancellation request runs with all signals blocked. All thread termination functions, including cancellation cleanup handlers and thread-specific data destructor functions, are called with all signals blocked.
The cancellation processing in target_thread runs asynchronously with respect to the calling thread returning from pthread_cancel().
If successful, the pthread_cancel() function returns 0. Otherwise, an error number is returned to indicate the error.
The pthread_cancel() function may fail if:
ESRCH
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | MT-Safe |
Standard | See standards(7). |
pthread_cleanup_pop(3C), pthread_cleanup_push(3C), pthread_cond_timedwait(3C), pthread_cond_wait(3C), pthread_exit(3C), pthread_join(3C), pthread_setcancelstate(3C), pthread_setcanceltype(3C), pthread_testcancel(3C), setjmp(3C), attributes(7), cancellation(7), condition(7), standards(7)
See cancellation(7) for a discussion of cancellation concepts.
November 2, 2007 | OmniOS |