Initial import from FreeBSD RELENG_4:
[dragonfly.git] / lib / libc_r / man / pthread_cancel.3
1 .\" $FreeBSD: src/lib/libc_r/man/pthread_cancel.3,v 1.3.2.4 2001/12/17 10:08:26 ru Exp $
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
15 The
16 .Fn pthread_cancel
17 function requests that
18 .Fa thread
19 be canceled.
20 The target thread's cancelability state and type determines
21 when the cancellation takes effect.
22 When the cancellation is acted on,
23 the cancellation cleanup handlers for
24 .Fa thread
25 are called.
26 When the last cancellation cleanup handler returns,
27 the thread-specific data destructor functions will be called for
28 .Fa thread .
29 When the last destructor function returns,
30 .Fa thread
31 will be terminated.
32 .Pp
33 The cancellation processing in the target thread runs asynchronously with
34 respect to the calling thread returning from
35 .Fn pthread_cancel .
36 .Pp
37 A status of
38 .Dv PTHREAD_CANCELED
39 is made available to any threads joining with the target.
40 The symbolic
41 constant
42 .Dv PTHREAD_CANCELED
43 expands to a constant expression of type
44 .Ft "(void *)" ,
45 whose value matches no pointer to an object in memory nor the value
46 .Dv NULL .
47 .Sh RETURN VALUES
48 If successful,  the
49 .Fn pthread_cancel
50 functions will return zero.
51 Otherwise an error number will be returned to
52 indicate the error.
53 .Sh ERRORS
54 .Fn pthread_cancel
55 will fail if:
56 .Bl -tag -width Er
57 .It Bq Er ESRCH
58 No thread could be found corresponding to that specified by the given
59 thread 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
71 conforms to
72 .St -p1003.1-96 .
73 .Sh AUTHORS
74 This man page was written by
75 .An David Leonard Aq d@openbsd.org
76 for the
77 .Ox
78 implementation of
79 .Fn pthread_cancel .