[Tarantool-patches] [PATCH 0/2] fiber_wakeup() nop on self
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sat Apr 24 02:15:52 MSK 2021
The patchset makes fiber_wakeup() in C and fiber.wakeup() in Lua
nop when called on the current fiber. This fixes a couple of
crashes in the public API, and prevent spurious wakeups in
certain cases.
Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5292-6043-fiber-wakeup-nop
Issue: https://github.com/tarantool/tarantool/issues/5292
Issue: https://github.com/tarantool/tarantool/issues/6043
Vladislav Shpilevoy (2):
fiber: make wakeup in Lua and C nop on self
fiber: use wakeup safely on self everywhere
.../unreleased/gh-6043-fiber-wakeup-self.md | 33 +++++++
src/box/applier.cc | 4 +-
src/box/journal.c | 6 ++
src/box/journal.h | 7 ++
src/box/raft.c | 14 +--
src/box/txn.c | 6 +-
src/box/txn_limbo.c | 14 +--
src/lib/core/fiber.c | 85 +++++++++++--------
src/lib/core/fiber.h | 6 +-
src/lib/swim/swim.c | 1 -
.../gh-6043-fiber-wakeup-self.test.lua | 50 +++++++++++
test/unit/fiber.cc | 33 ++++++-
test/unit/fiber.result | 2 +
test/unit/fiber_stress.cc | 6 +-
14 files changed, 191 insertions(+), 76 deletions(-)
create mode 100644 changelogs/unreleased/gh-6043-fiber-wakeup-self.md
create mode 100755 test/app-tap/gh-6043-fiber-wakeup-self.test.lua
--
2.24.3 (Apple Git-128)
More information about the Tarantool-patches
mailing list