man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

pthread_cancel(3C)

Name

pthread_cancel - cancel execution of a thread

Synopsis

cc –mt [ flag... ] file... [ library... ]
#include <pthread.h>

int pthread_cancel(pthread_t target_thread);

Description

The pthread_cancel() function requests that target_thread be canceled.

By default, cancellation is deferred until target_thread reaches a cancellation point. See cancellation(5).

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().

Return Values

If successful, the pthread_cancel() function returns 0. Otherwise, an error number is returned to indicate the error.

Errors

The pthread_cancel() function may fail if:

ESRCH

No thread was found with an ID corresponding to that specified by the given thread ID, target_thread.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See Also

pthread_cleanup_pop(3C), pthread_cleanup_push(3C), pthread_cond_wait(3C), pthread_cond_timedwait(3C), pthread_exit(3C), pthread_join(3C), pthread_setcancelstate(3C), pthread_setcanceltype(3C), pthread_testcancel(3C), setjmp(3C), attributes(5), cancellation(5), condition(5), standards(5)

Notes

See cancellation(5) for a discussion of cancellation concepts.