From dfa54f1c04898a9cae2ef62545654bdbf617047e Mon Sep 17 00:00:00 2001 From: Roman Tsisyk <roman@tsisyk.com> Date: Mon, 19 Jan 2015 18:39:21 +0300 Subject: [PATCH] Fix #650: Remove zombie fibers from fiber.info() --- src/fiber.cc | 5 ----- test/box/fiber.result | 10 ++++++++++ test/box/fiber.test.lua | 4 ++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/fiber.cc b/src/fiber.cc index 7754cedc49..8878c311a9 100644 --- a/src/fiber.cc +++ b/src/fiber.cc @@ -655,10 +655,5 @@ int fiber_stat(fiber_stat_cb cb, void *cb_ctx) if (res != 0) return res; } - rlist_foreach_entry(fiber, &cord->zombie_fibers, link) { - res = cb(fiber, cb_ctx); - if (res != 0) - return res; - } return 0; } diff --git a/test/box/fiber.result b/test/box/fiber.result index a68993e4d3..662257c41c 100644 --- a/test/box/fiber.result +++ b/test/box/fiber.result @@ -770,6 +770,16 @@ getmetatable(fiber.info()) --- - __serialize: mapping ... +zombie = false +--- +... +for fid, i in pairs(fiber.info()) do if i.name == 'zombie' then zombie = true end end +--- +... +zombie +--- +- false +... fiber = nil --- ... diff --git a/test/box/fiber.test.lua b/test/box/fiber.test.lua index 6f5913f541..18ba9e6da0 100644 --- a/test/box/fiber.test.lua +++ b/test/box/fiber.test.lua @@ -316,4 +316,8 @@ f3:cancel() -- getmetatable(fiber.info()) +zombie = false +for fid, i in pairs(fiber.info()) do if i.name == 'zombie' then zombie = true end end +zombie + fiber = nil -- GitLab