FreeBSD/lib/libthr/thread/thr_syscalls.c
/*
 * Cancellation behavior:
 *   Thread may be canceled at start, but if the system call returns something,
 *   the thread is not canceled.
 */
Cancellation behavior:
Thread may be canceled at start, but if the system call returns something,
the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call returns something the thread is not canceled .
static int 
__thr_select(int numfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
	struct timeval *timeout)
{
	struct pthread *curthread;
	int ret;
	curthread = _get_curthread();
	_thr_cancel_enter(curthread);
	ret = __sys_select(numfds, readfds, writefds, exceptfds, timeout);
	_thr_cancel_leave(curthread, ret == -1);
	return (ret);
}
static int __thr_select ( int numfds , fd_set * readfds , fd_set * writefds , fd_set * exceptfds , struct timeval * timeout ) { struct pthread * curthread ; int ret ; curthread = _get_curthread ( ) ; _thr_cancel_enter ( curthread ) ; ret = __sys_select ( numfds , readfds , writefds , exceptfds , timeout ) ; _thr_cancel_leave ( curthread , ret == -1 ) ; return ( ret ) ; }
Cancellation behavior:
   Thread may be canceled at start, but if the system call returns something,
   the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call returns something the thread is not canceled .