Skip to content

expirationd: get_fid is broken in the guardian loop #14

@kostja

Description

@kostja

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions