Commit 972b4564 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

fixup 63b9d6e7 , log_sys.write_buf can't run in a loop

The write_lock is released after the first time already.

This leaves the hole in the log_write_and_flush logic, some
flush_lock/write_lock waiters could be hanging, until the
background redo log flush comes.

The possibility of that is relatively tiny though.
parent 63b9d6e7
......@@ -705,12 +705,8 @@ ATTRIBUTE_COLD void log_write_and_flush()
ut_ad(!srv_read_only_mode);
if (!log_sys.is_pmem())
{
while (log_sys.write_buf<false>())
{
}
while (log_flush(write_lock.value()))
{
}
log_sys.write_buf<false>();
log_flush(write_lock.value());
}
#ifdef HAVE_PMEM
else
......
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