Commit 74281fe1 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-24884 fixup: Remove a bogus assertion

rw_lock::upgrade_trylock(): If the compare-and-swap fails,
only assert that we are still holding the U lock and that
no conflicting lock exists. If the upgrade to X would fail due
to some thread holding an S latch, we will terminate the loop.
parent 5c9229b9
...@@ -99,7 +99,6 @@ class rw_lock ...@@ -99,7 +99,6 @@ class rw_lock
/* Either conflicting (read) locks have been granted, or /* Either conflicting (read) locks have been granted, or
the WRITER_WAITING flag was set by some thread that is waiting the WRITER_WAITING flag was set by some thread that is waiting
to become WRITER. */ to become WRITER. */
DBUG_ASSERT(!(~l & (UPDATER - 1)) || l == (UPDATER | WRITER_WAITING));
DBUG_ASSERT(((WRITER | UPDATER) & l) == UPDATER); DBUG_ASSERT(((WRITER | UPDATER) & l) == UPDATER);
if (~(WRITER_WAITING | UPDATER) & l) if (~(WRITER_WAITING | UPDATER) & l)
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment