ls_lock
LIST_FOREACH(lop, &lckownstp->ls_lock, lo_lckowner) {
lop = LIST_FIRST(&stp->ls_lock);
while (lop != LIST_END(&stp->ls_lock)) {
LIST_INIT(&new_stp->ls_lock);
if (LIST_EMPTY(&stp->ls_lock)) {
LIST_INSERT_HEAD(&stp->ls_lock, new_lop, lo_lckowner);
lop = LIST_FIRST(&stp->ls_lock);
if (tstp != stp || !LIST_EMPTY(&tstp->ls_lock))
if (error == 0 && !LIST_EMPTY(&stp->ls_lock))
sx_assert(&state->ls_lock, SX_XLOCKED);
error = sx_sleep(lock, &state->ls_lock, priority, lockstr, 0);
sx_xlock(&ls->ls_lock);
sx_xunlock(&ls->ls_lock);
sx_xlock(&ls->ls_lock);
sx_xunlock(&ls->ls_lock);
sx_slock(&ls->ls_lock);
sx_sunlock(&ls->ls_lock);
sx_init(&ls->ls_lock, "ls_lock");
sx_destroy(&ls->ls_lock);
sx_destroy(&ls->ls_lock);
sx_xlock(&state->ls_lock);
sx_xunlock(&state->ls_lock);
sx_xunlock(&state->ls_lock);
sx_xlock(&state->ls_lock);
sx_xunlock(&state->ls_lock);
sx_destroy(&state->ls_lock);
struct sx ls_lock;