Lines Matching refs:val

100 	unsigned int val;  in _rthread_rwlock_tryrdlock()  local
103 val = rwlock->value; in _rthread_rwlock_tryrdlock()
104 if (COUNT(val) == WRITER) in _rthread_rwlock_tryrdlock()
106 if (COUNT(val) == MAXREADER) in _rthread_rwlock_tryrdlock()
108 } while (atomic_cas_uint(&rwlock->value, val, val + 1) != val); in _rthread_rwlock_tryrdlock()
120 unsigned int val, new; in _rthread_rwlock_timedrdlock() local
137 val = rwlock->value; in _rthread_rwlock_timedrdlock()
138 if (val == UNLOCKED || (val & WAITING)) in _rthread_rwlock_timedrdlock()
145 val = rwlock->value; in _rthread_rwlock_timedrdlock()
146 if (val == UNLOCKED || (COUNT(val)) != WRITER) in _rthread_rwlock_timedrdlock()
148 new = val | WAITING; in _rthread_rwlock_timedrdlock()
149 if (atomic_cas_uint(&rwlock->value, val, new) == val) { in _rthread_rwlock_timedrdlock()
197 unsigned int val, new; in _rthread_rwlock_timedwrlock() local
214 val = rwlock->value; in _rthread_rwlock_timedwrlock()
215 if (val == UNLOCKED || (val & WAITING)) in _rthread_rwlock_timedwrlock()
222 val = rwlock->value; in _rthread_rwlock_timedwrlock()
223 if (val == UNLOCKED) in _rthread_rwlock_timedwrlock()
225 new = val | WAITING; in _rthread_rwlock_timedwrlock()
226 if (atomic_cas_uint(&rwlock->value, val, new) == val) { in _rthread_rwlock_timedwrlock()
261 unsigned int val, new; in pthread_rwlock_unlock() local
268 val = rwlock->value; in pthread_rwlock_unlock()
269 if (COUNT(val) == WRITER || COUNT(val) == 1) in pthread_rwlock_unlock()
272 new = val - 1; in pthread_rwlock_unlock()
273 } while (atomic_cas_uint(&rwlock->value, val, new) != val); in pthread_rwlock_unlock()
275 if (new == UNLOCKED && (val & WAITING)) in pthread_rwlock_unlock()