tntlua icon indicating copy to clipboard operation
tntlua copied to clipboard

expirationd: get_fid is broken in the guardian loop

Open kostja opened this issue 11 years ago • 0 comments

The guardian loop is broken, since get_fiber_id can throw an error if the fiber is dead. fiber:id() for dead fibers doesn't work starting from Tarantool 1.4 I think.

If a fiber dies before guardian loop checks its status, the guardian itself can die with an exception.

The same bug is present in 1.5 version at http://github.com/mailru/tntlua

Use fiber:status() to find out fiber status, it doesn't throw.

kostja avatar Dec 29 '14 12:12 kostja