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