Lines Matching refs:__state_
18 __shared_mutex_base::__shared_mutex_base() : __state_(0) {} in __shared_mutex_base()
24 while (__state_ & __write_entered_) in lock()
26 __state_ |= __write_entered_; in lock()
27 while (__state_ & __n_readers_) in lock()
33 if (__state_ == 0) { in try_lock()
34 __state_ = __write_entered_; in try_lock()
42 __state_ = 0; in unlock()
50 while ((__state_ & __write_entered_) || (__state_ & __n_readers_) == __n_readers_) in lock_shared()
52 unsigned num_readers = (__state_ & __n_readers_) + 1; in lock_shared()
53 __state_ &= ~__n_readers_; in lock_shared()
54 __state_ |= num_readers; in lock_shared()
59 unsigned num_readers = __state_ & __n_readers_; in try_lock_shared()
60 if (!(__state_ & __write_entered_) && num_readers != __n_readers_) { in try_lock_shared()
62 __state_ &= ~__n_readers_; in try_lock_shared()
63 __state_ |= num_readers; in try_lock_shared()
71 unsigned num_readers = (__state_ & __n_readers_) - 1; in unlock_shared()
72 __state_ &= ~__n_readers_; in unlock_shared()
73 __state_ |= num_readers; in unlock_shared()
74 if (__state_ & __write_entered_) { in unlock_shared()