READ_LOCK
DTRACE_PROBE2(plockstat, rw__acquire, rwlp, READ_LOCK);
DTRACE_PROBE3(plockstat, rw__error, rwlp, READ_LOCK,
rd_wr = READ_LOCK;
} else if (rd_wr == READ_LOCK && read_unlock_try(rwlp)) {
#define READ_LOCK_TRY (READ_LOCK | TRY_FLAG)
ASSERT(rd_wr == READ_LOCK || rd_wr == WRITE_LOCK);
if (rd_wr == READ_LOCK) {
if (rd_wr == READ_LOCK) {
ASSERT(rd_wr == READ_LOCK || rd_wr == WRITE_LOCK);
if (rd_wr == READ_LOCK) {
error = shared_rwlock_lock(rwlp, tsp, READ_LOCK);
error = rwlock_lock(rwlp, tsp, READ_LOCK);
DTRACE_PROBE2(plockstat, rw__acquire, rwlp, READ_LOCK);
DTRACE_PROBE3(plockstat, rw__error, rwlp, READ_LOCK, error);
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
case READ_LOCK:
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
if (lock_container(READ_LOCK, container) != FRU_SUCCESS) {
#define READ_LOCK_TRY (READ_LOCK | TRY_FLAG)
if ((rd_wr != READ_LOCK) && (rd_wr != WRITE_LOCK)) {
if (rd_wr == READ_LOCK) {
} else if (rd_wr == READ_LOCK) {
return (lwp_rwlock_lock(rwlp, tsp, READ_LOCK));