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.
418 * Try to do a non-blocking upgrade from a shared lock to an exclusive lock.
437 * Try to switch from one shared lock to an exclusive lock. We need
439 * we will wake up the exclusive waiters when we drop the lock.
471 * Downgrade an unrecursed exclusive lock into a single shared lock.
492 * Try to switch from an exclusive lock with no shared waiters
494 * exclusive waiters, we don't need to lock the sleep queue so
617 /* If we already hold an exclusive lock, then recurse. */
777 * If an exclusive lock was released with both shared
778 * and exclusive waiters and a shared waiter hasn't
783 * as there are other exclusive waiters still. If we
836 * Since we have been unable to acquire the exclusive
837 * lock and the exclusive waiters flag is set, we have
954 * state of the exclusive waiters flag.
956 * starvation for the threads sleeping on the exclusive queue by giving
972 "exclusive");
996 * If no other thread has an exclusive lock then try to bump up
1078 * shared locks once there is an exclusive waiter.
1150 * Some other thread already has an exclusive lock, so
1340 * Just wake up all the exclusive waiters.
1355 "exclusive queue", __func__, sx);
1429 * If some other thread has an exclusive lock or we
1519 db_printf("exclusive\n");
1522 db_printf("exclusive and shared\n");
1532 * If the lock has an exclusive owner, return that in *ownerp.