SOLOCKED
ASSERT(so->so_flag & (SOLOCKED|SOASYNC_UNBIND));
} else if (so->so_flag & (SOASYNC_UNBIND | SOLOCKED)) {
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
while (so->so_flag & (SOLOCKED | SOASYNC_UNBIND)) {
so->so_flag |= SOLOCKED;
ASSERT(flag & (SOLOCKED|SOASYNC_UNBIND));
ASSERT((flag & ~(SOLOCKED|SOASYNC_UNBIND)) == 0);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
ASSERT(so->so_flag & SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);
so_unlock_single(so, SOLOCKED);