diff options
author | Rickard Green <rickard@erlang.org> | 2010-12-06 10:25:36 +0100 |
---|---|---|
committer | Rickard Green <rickard@erlang.org> | 2010-12-06 10:25:36 +0100 |
commit | 1108ed8660f376b661ea04b86a83c20339106353 (patch) | |
tree | 96c4f890eca6cc0bdc85c52029c14b9456db7ad9 | |
parent | 678d00c2cbd6a8cb6d6cacd7d142bd14f40a08dc (diff) | |
download | otp-1108ed8660f376b661ea04b86a83c20339106353.tar.gz otp-1108ed8660f376b661ea04b86a83c20339106353.tar.bz2 otp-1108ed8660f376b661ea04b86a83c20339106353.zip |
Fix erroneous assertion
-rw-r--r-- | erts/lib_src/common/ethr_mutex.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/erts/lib_src/common/ethr_mutex.c b/erts/lib_src/common/ethr_mutex.c index 95fedc0ba2..a2fbf3a454 100644 --- a/erts/lib_src/common/ethr_mutex.c +++ b/erts/lib_src/common/ethr_mutex.c @@ -2101,7 +2101,10 @@ rwmutex_unlock_wake(ethr_rwmutex *rwmtx, int have_w, long initial, if (!have_w) { act = ethr_atomic_read_bor(&rwmtx->mtxb.flgs, ETHR_RWMTX_W_FLG__); - ETHR_ASSERT((act & ~ETHR_RWMTX_WAIT_FLGS__) == 0); + ETHR_ASSERT((act & ~(ETHR_RWMTX_WAIT_FLGS__ + | (rwmtx->type == ETHR_RWMUTEX_TYPE_NORMAL + ? 0 + : ETHR_RWMTX_R_PEND_UNLCK_MASK__))) == 0); ETHR_ASSERT(act & ETHR_RWMTX_W_WAIT_FLG__); act |= ETHR_RWMTX_W_FLG__; } |