Example #1
0
void
bad8(void)
{
	if (lck_mtx_try_lock(&lck1) == 0) // no-warning
		return;
	lck_mtx_lock(&lck2);		// no-warning
	lck_mtx_unlock(&lck1);		// expected-warning{{This was not the most recently acquired lock}}
}
Example #2
0
/*
 * Detach the raw connection block and discard
 * socket resources.
 */
void
raw_detach(struct rawcb *rp)
{
    struct socket *so = rp->rcb_socket;

    so->so_pcb = 0;
    so->so_flags |= SOF_PCBCLEARING;
    sofree(so);
    if (!lck_mtx_try_lock(raw_mtx)) {
        socket_unlock(so, 0);
        lck_mtx_lock(raw_mtx);
        socket_lock(so, 0);
    }
    LIST_REMOVE(rp, list);
    lck_mtx_unlock(raw_mtx);
#ifdef notdef
    if (rp->rcb_laddr)
        m_freem(dtom(rp->rcb_laddr));
    rp->rcb_laddr = 0;
#endif
    rp->rcb_socket = NULL;
    FREE((caddr_t)(rp), M_PCB);
}
Example #3
0
void
ok7(void)
{
	if (lck_mtx_try_lock(&lck1) != 0)	// no-warning
		lck_mtx_unlock(&lck1);		// no-warning
}
Example #4
0
boolean_t
mutex_try_EXT(
	lck_mtx_t		*mutex)
{
	return(lck_mtx_try_lock(mutex));
}