xref: /freebsd/share/man/man3/pthread_cancel.3 (revision 6f673fd1c07f7ba1355441f7952d0b68882fe4f8)
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.In 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
54The
55.Fn pthread_cancel
56function will fail if:
57.Bl -tag -width Er
58.It Bq Er ESRCH
59No thread could be found corresponding to that specified by the given
60thread ID.
61.El
62.Sh SEE ALSO
63.Xr pthread_cleanup_pop 3 ,
64.Xr pthread_cleanup_push 3 ,
65.Xr pthread_exit 3 ,
66.Xr pthread_join 3 ,
67.Xr pthread_setcancelstate 3 ,
68.Xr pthread_setcanceltype 3 ,
69.Xr pthread_testcancel 3
70.Sh STANDARDS
71The
72.Fn pthread_cancel
73function conforms to
74.St -p1003.1-96 .
75.Sh AUTHORS
76This man page was written by
77.An David Leonard Aq d@openbsd.org
78for the
79.Ox
80implementation of
81.Fn pthread_cancel .
82