FreeBSD/lib/libthr/thread/thr_syscalls.c
/*
 * Cancellation behavior:
 *   Thread may be canceled at start, but if the system call sent some
 *   data, the thread is not canceled.
 */
Cancellation behavior:
Thread may be canceled at start, but if the system call sent some
data, the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call sent some data the thread is not canceled .
static ssize_t
__thr_sendto(int s, const void *m, size_t l, int f, const struct sockaddr *t,
    socklen_t tl)
{
	struct pthread *curthread;
	ssize_t ret;
	curthread = _get_curthread();
	_thr_cancel_enter(curthread);
	ret = __sys_sendto(s, m, l, f, t, tl);
	_thr_cancel_leave(curthread, ret <= 0);
	return (ret);
}
static ssize_t __thr_sendto ( int s , const void * m , size_t l , int f , const struct sockaddr * t , socklen_t tl ) { struct pthread * curthread ; ssize_t ret ; curthread = _get_curthread ( ) ; _thr_cancel_enter ( curthread ) ; ret = __sys_sendto ( s , m , l , f , t , tl ) ; _thr_cancel_leave ( curthread , ret <= 0 ) ; return ( ret ) ; }
Cancellation behavior:
   Thread may be canceled at start, but if the system call sent some
   data, the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call sent some data the thread is not canceled .