xref: /freebsd/share/man/man3/pthread_cancel.3 (revision 77a0943ded95b9e6438f7db70c4a28e4d93946d4)
1.\" $FreeBSD$
2.Dd January 17, 1999
3.Dt PTHREAD_CANCEL 3
4.Os
5.Sh NAME
6.Nm pthread_cancel
7.Nd cancel execution of a thread
8.Sh LIBRARY
9.Lb libc_r
10.Sh SYNOPSIS
11.Fd #include <pthread.h>
12.Ft int
13.Fn pthread_cancel "pthread_t thread"
14.Sh DESCRIPTION
15The
16.Fn pthread_cancel
17function requests that
18.Fa thread
19be canceled.
20The target thread's cancelability state and type determines
21when the cancellation takes effect.
22When the cancellation is acted on,
23the cancellation cleanup handlers for
24.Fa thread
25are called.
26When the last cancellation cleanup handler returns,
27the thread-specific data destructor functions will be called for
28.Fa thread .
29When the last destructor function returns,
30.Fa thread
31will be terminated.
32.Pp
33The cancellation processing in the target thread runs asynchronously with
34respect to the calling thread returning from
35.Fn pthread_cancel .
36.Pp
37A status of
38.Dv PTHREAD_CANCELED
39is made available to any threads joining with the target.
40The symbolic
41constant
42.Dv PTHREAD_CANCELED
43expands to a constant expression of type
44.Ft "(void *)" ,
45whose value matches no pointer to an object in memory nor the value
46.Dv NULL .
47.Sh RETURN VALUES
48If successful,  the
49.Fn pthread_cancel
50functions will return zero.
51Otherwise an error number will be returned to
52indicate the error.
53.Sh ERRORS
54.Fn pthread_cancel
55will fail if:
56.Bl -tag -width Er
57.It Bq Er ESRCH
58No thread could be found corresponding to that specified by the given
59thread ID.
60.El
61.Sh SEE ALSO
62.Xr pthread_cleanup_pop 3 ,
63.Xr pthread_cleanup_push 3 ,
64.Xr pthread_exit 3 ,
65.Xr pthread_join 3 ,
66.Xr pthread_setcancelstate 3 ,
67.Xr pthread_setcanceltype 3 ,
68.Xr pthread_testcancel 3
69.Sh STANDARDS
70.Fn pthread_cancel
71conforms to ISO/IEC 9945-1 ANSI/IEEE
72.Pq Dq Tn POSIX
73Std 1003.1 Second Edition 1996-07-12.
74.Sh AUTHORS
75This man page was written by
76.An David Leonard Aq d@openbsd.org
77for the
78.Ox
79implementation of
80.Fn pthread_cancel .
81