Lines Matching full:exclusive
33 * Shared/exclusive locks. This implementation attempts to ensure
109 * Returns true if an exclusive lock is recursed. It assumes
110 * curthread currently has an exclusive lock.
419 * Try to do a non-blocking upgrade from a shared lock to an exclusive lock.
438 * Try to switch from one shared lock to an exclusive lock. We need in sx_try_upgrade_int()
440 * we will wake up the exclusive waiters when we drop the lock. in sx_try_upgrade_int()
472 * Downgrade an unrecursed exclusive lock into a single shared lock.
493 * Try to switch from an exclusive lock with no shared waiters in sx_downgrade_int()
495 * exclusive waiters, we don't need to lock the sleep queue so in sx_downgrade_int()
618 /* If we already hold an exclusive lock, then recurse. */ in _sx_xlock_hard()
778 * If an exclusive lock was released with both shared in _sx_xlock_hard()
779 * and exclusive waiters and a shared waiter hasn't in _sx_xlock_hard()
784 * as there are other exclusive waiters still. If we in _sx_xlock_hard()
837 * Since we have been unable to acquire the exclusive in _sx_xlock_hard()
838 * lock and the exclusive waiters flag is set, we have in _sx_xlock_hard()
955 * state of the exclusive waiters flag. in _sx_xunlock_hard()
957 * starvation for the threads sleeping on the exclusive queue by giving in _sx_xunlock_hard()
973 "exclusive"); in _sx_xunlock_hard()
997 * If no other thread has an exclusive lock then try to bump up in __sx_slock_try()
1079 * shared locks once there is an exclusive waiter. in _sx_slock_hard()
1151 * Some other thread already has an exclusive lock, so in _sx_slock_hard()
1341 * Just wake up all the exclusive waiters. in _sx_sunlock_hard()
1356 "exclusive queue", __func__, sx); in _sx_sunlock_hard()
1430 * If some other thread has an exclusive lock or we in _sx_assert()
1520 db_printf("exclusive\n"); in db_show_sx()
1523 db_printf("exclusive and shared\n"); in db_show_sx()
1533 * If the lock has an exclusive owner, return that in *ownerp.