Skip to content
Snippets Groups Projects
user avatar
Igor Munkin authored
Tarantool integrates several complex environments together and there are
issues occurring at their junction leading to the platform failures.
E.g. fiber switch-over is implemented outside the Lua world, so when one
lua_State substitutes another one, main LuaJIT engines, such as JIT and
GC, are left unnotified leading to the further platform misbehaviour.

To solve this severe integration drawback <cord_on_yield> function is
introduced. This routine encloses the checks and actions to be done when
the running fiber yields the execution.

Unfortunately the way callback is implemented introduces a circular
dependency. Considering linker symbol resolving methods for static build
an auxiliary translation unit is added to the particular tests mocking
(i.e. exporting) <cord_on_yield> undefined symbol.

Part of #1700
Relates to #4491

Reviewed-by: default avatarSergey Ostanevich <sergos@tarantool.org>
Reviewed-by: default avatarVladislav Shpilevoy <v.shpilevoy@tarantool.org>
Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
a390ec55
History
Name Last commit Last update