FreeBSD/lib/libthr/thread/thr_syscalls.c
/*
 * Cancellation behavior:
 *   Thread may be canceled at start, but if the system call returns
 *   a child pid, the thread is not canceled.
 */
Cancellation behavior:
Thread may be canceled at start, but if the system call returns
a child pid, the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call returns a child pid the thread is not canceled .
static pid_t
__thr_wait6(idtype_t idtype, id_t id, int *status, int options,
    struct __wrusage *ru, siginfo_t *infop)
{
	struct pthread *curthread;
	pid_t ret;
	curthread = _get_curthread();
	_thr_cancel_enter(curthread);
	ret = __sys_wait6(idtype, id, status, options, ru, infop);
	_thr_cancel_leave(curthread, ret <= 0);
	return (ret);
}
static pid_t __thr_wait6 ( idtype_t idtype , id_t id , int * status , int options , struct __wrusage * ru , siginfo_t * infop ) { struct pthread * curthread ; pid_t ret ; curthread = _get_curthread ( ) ; _thr_cancel_enter ( curthread ) ; ret = __sys_wait6 ( idtype , id , status , options , ru , infop ) ; _thr_cancel_leave ( curthread , ret <= 0 ) ; return ( ret ) ; }
Cancellation behavior:
   Thread may be canceled at start, but if the system call returns
   a child pid, the thread is not canceled.
Cancellation behavior : Thread may be canceled at start but if the system call returns a child pid the thread is not canceled .