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