wal: allow spurious wakeups in wal_write
It's possible to wakeup a fiber, which is waiting for WAL write completion, using Tarantool C API. This results in an error like: ``` main/118/lua F> Journal result code -1 can't be converted to an error ``` This patch introduces a flag, which is set when WAL write is finished, that allows fibers to yield until the flag is set. Closes #6506 NO_DOC=bugfix
Showing
- changelogs/unreleased/gh-6506-allow-spurious-wakeups-in-wal_write.md 4 additions, 0 deletions...unreleased/gh-6506-allow-spurious-wakeups-in-wal_write.md
- src/box/journal.h 8 additions, 0 deletionssrc/box/journal.h
- src/box/wal.c 4 additions, 3 deletionssrc/box/wal.c
- test/CMakeLists.txt 1 addition, 0 deletionstest/CMakeLists.txt
- test/box-luatest/CMakeLists.txt 1 addition, 0 deletionstest/box-luatest/CMakeLists.txt
- test/box-luatest/gh_6506_wakeup_writing_to_wal_fiber.c 17 additions, 0 deletionstest/box-luatest/gh_6506_wakeup_writing_to_wal_fiber.c
- test/box-luatest/gh_6506_wakeup_writing_to_wal_fiber_test.lua 43 additions, 0 deletions.../box-luatest/gh_6506_wakeup_writing_to_wal_fiber_test.lua
Loading
Please register or sign in to comment