Lines Matching full:guard_
674 : name_(name), guard_(guard) {
714 // guard_.AssertExclusiveHeld(self);
715 DCHECK_EQ(guard_.GetExclusiveOwnerTid(), SafeGetTid(self));
726 guard_.state_.Address(), cur_sequence) != -1;
741 guard_.AssertExclusiveHeld(self);
757 guard_.CheckSafeToWait(self);
763 guard_.AssertExclusiveHeld(self);
764 unsigned int old_recursion_count = guard_.recursion_count_;
768 guard_.num_contenders_++;
769 guard_.recursion_count_ = 1;
771 guard_.ExclusiveUnlock(self);
780 guard_.ExclusiveLock(self);
783 // We awoke and so no longer require awakes from the guard_'s unlock.
784 CHECK_GE(guard_.num_contenders_.LoadRelaxed(), 0);
785 guard_.num_contenders_--;
787 uint64_t old_owner = guard_.exclusive_owner_;
788 guard_.exclusive_owner_ = 0;
789 guard_.recursion_count_ = 0;
790 CHECK_MUTEX_CALL(pthread_cond_wait, (&cond_, &guard_.mutex_));
791 guard_.exclusive_owner_ = old_owner;
793 guard_.recursion_count_ = old_recursion_count;
798 guard_.AssertExclusiveHeld(self);
799 guard_.CheckSafeToWait(self);
800 unsigned int old_recursion_count = guard_.recursion_count_;
806 guard_.num_contenders_++;
807 guard_.recursion_count_ = 1;
809 guard_.ExclusiveUnlock(self);
819 guard_.ExclusiveLock(self);
822 // We awoke and so no longer require awakes from the guard_'s unlock.
823 CHECK_GE(guard_.num_contenders_.LoadRelaxed(), 0);
824 guard_.num_contenders_--;
831 uint64_t old_owner = guard_.exclusive_owner_;
832 guard_.exclusive_owner_ = 0;
833 guard_.recursion_count_ = 0;
836 int rc = TEMP_FAILURE_RETRY(pthread_cond_timedwait(&cond_, &guard_.mutex_, &ts));
841 guard_.exclusive_owner_ = old_owner;
843 guard_.recursion_count_ = old_recursion_count;