Lines Matching refs:lock
61 // sFreeSemsTail), Team::sem_list, and together with sem_entry::lock
63 // * sem_entry::lock: Protects all sem_entry members. owner, team_link
65 // lock itself doesn't need protection -- sem_entry objects are never deleted.
67 // The locking order is sSemsSpinlock -> sem_entry::lock -> scheduler lock. All
70 // sem_entry::lock and verifying that sem_entry::id matches afterwards.
117 spinlock lock; // protects only the id field when unused
305 The semaphore's lock must be held when called.
363 SpinLocker semLocker(sSems[slot].lock);
508 SpinLocker semLocker(sem->lock);
547 InterruptsSpinLocker _(&sSems[slot].lock);
583 InterruptsSpinLocker _(&sSems[slot].lock);
600 Must be called with semaphore lock held. The thread lock must not be held.
615 // Now see if more threads need to be woken up. We get the scheduler lock
617 // interruption or timeout). We need that lock anyway when unblocking a
662 SpinLocker semLocker(sem->lock);
751 SpinLocker semLocker(sSems[slot].lock);
892 SpinLocker semLocker(sSems[slot].lock);
933 // Grab the scheduler lock, so thread_is_blocked() is reliable (due to
999 InterruptsSpinLocker _(sSems[slot].lock);
1025 InterruptsSpinLocker _(sSems[slot].lock);
1072 SpinLocker _(sem->lock);
1110 SpinLocker semLocker(sSems[slot].lock);