check_lock_rwlock
(lock->type==check_lock_rwlock)?"rwlock": "badtype")), err);
case check_lock_rwlock:
case check_lock_rwlock:
if(type==check_lock_rwlock && getwr && lock->writeholder == thr)
if(type==check_lock_rwlock && getwr && lock->writeholder)
if(type==check_lock_rwlock && getwr)
log_assert(type == check_lock_rwlock);
log_assert(type == check_lock_rwlock);
log_assert(type != check_lock_rwlock);
if(type==check_lock_rwlock && lock->writeholder == thr) {
} else if(type != check_lock_rwlock) {
case check_lock_rwlock:
(lock->type==check_lock_rwlock)?"rwlock": "badtype")));
#define lock_rw_init(lock) checklock_init(check_lock_rwlock, &((lock)->c_rw), __func__, __FILE__, __LINE__)
#define lock_rw_destroy(lock) checklock_destroy(check_lock_rwlock, &((lock)->c_rw), __func__, __FILE__, __LINE__)
#define lock_rw_rdlock(lock) checklock_rdlock(check_lock_rwlock, (lock)->c_rw, __func__, __FILE__, __LINE__)
#define lock_rw_wrlock(lock) checklock_wrlock(check_lock_rwlock, (lock)->c_rw, __func__, __FILE__, __LINE__)
#define lock_rw_unlock(lock) checklock_unlock(check_lock_rwlock, (lock)->c_rw, __func__, __FILE__, __LINE__)