Home
last modified time | relevance | path

Searched refs:rwstate (Results 1 – 4 of 4) sorted by relevance

/illumos-gate/usr/src/lib/libc/port/threads/
H A Drwlock.c140 volatile uint32_t *rwstate = (volatile uint32_t *)&rwlp->rwlock_readers; in rw_read_held() local
149 readers = *rwstate; in rw_read_held()
183 volatile uint32_t *rwstate = (volatile uint32_t *)&rwlp->rwlock_readers; in rw_write_held() local
190 readers = *rwstate; in rw_write_held()
285 volatile uint32_t *rwstate = (volatile uint32_t *)&rwlp->rwlock_readers; in read_lock_try() local
292 while (((readers = *rwstate) & mask) == 0) { in read_lock_try()
293 if (atomic_cas_32(rwstate, readers, readers + 1) == readers) { in read_lock_try()
308 volatile uint32_t *rwstate = (volatile uint32_t *)&rwlp->rwlock_readers; in read_unlock_try() local
313 while (((readers = *rwstate) & URW_HAS_WAITERS) == 0) { in read_unlock_try()
314 if (atomic_cas_32(rwstate, readers, readers - 1) == readers) { in read_unlock_try()
[all …]
H A Dassfail.c253 uint32_t rwstate; in rwlock_error() local
285 rwstate = (uint32_t)rcopy.rwlock_readers; in rwlock_error()
303 if (rwstate & URW_WRITE_LOCKED) { in rwlock_error()
312 } else if (rwstate & URW_READERS_MASK) { in rwlock_error()
314 ultos((uint64_t)(rwstate & URW_READERS_MASK), 10, in rwlock_error()
320 if (rwstate & URW_HAS_WAITERS) in rwlock_error()
/illumos-gate/usr/src/uts/common/syscall/
H A Dlwp_sobj.c2258 uint32_t rwstate = 0; in lwp_rwlock_release() local
2270 rwstate |= URW_WRITE_LOCKED; in lwp_rwlock_release()
2279 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2286 rwstate++; in lwp_rwlock_release()
2296 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2306 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_release()
2356 uint32_t rwstate; in lwp_rwlock_lock() local
2478 fuword32_noerr(&rw->rwlock_readers, &rwstate); in lwp_rwlock_lock()
2484 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_lock()
2489 if (!(rwstate & URW_WRITE_LOCKED)) { in lwp_rwlock_lock()
[all …]
/illumos-gate/usr/src/lib/libc_db/common/
H A Dthread_db.c2565 uint32_t rwstate; in sync_get_info_common() local
2575 rwstate = (uint32_t)generic_so.rwlock.rwlock_readers; in sync_get_info_common()
2576 if (rwstate & URW_WRITE_LOCKED) { in sync_get_info_common()
2586 si_p->si_state.nreaders = (rwstate & URW_READERS_MASK); in sync_get_info_common()
2588 si_p->si_has_waiters = ((rwstate & URW_HAS_WAITERS) != 0); in sync_get_info_common()
2896 uint32_t *rwstate; in __td_sync_setstate() local
2959 rwstate = (uint32_t *)&generic_so.rwlock.readers; in __td_sync_setstate()
2960 *rwstate &= URW_HAS_WAITERS; in __td_sync_setstate()
2962 *rwstate |= URW_WRITE_LOCKED; in __td_sync_setstate()
2964 *rwstate |= (value & URW_READERS_MASK); in __td_sync_setstate()