lua: implement internal.trigger in C
The patch rewrites Lua implementation of trigger list in C as a wrapper over list of lbox triggers. Backward compatibility is a bit broken after this patch. Firslty, despite usually all the triggers are inserted to the beginning of the trigger list, trigger list, implemented in Lua, inserted new triggers at the end. The patch fixes this inconsistency. Also, triggers using lbox_trigger_reset return nil when a trigger is deleted, and triggers using Lua implementation return removed trigger in this case. The behavior is unified now - all triggers return nil on deletion. Part of #6484 Part of #8659 NO_CHANGELOG=internal NO_DOC=internal
Showing
- src/CMakeLists.txt 0 additions, 1 deletionsrc/CMakeLists.txt
- src/lua/init.c 1 addition, 2 deletionssrc/lua/init.c
- src/lua/trigger.c 86 additions, 0 deletionssrc/lua/trigger.c
- src/lua/trigger.h 6 additions, 0 deletionssrc/lua/trigger.h
- src/lua/trigger.lua 0 additions, 75 deletionssrc/lua/trigger.lua
- test/app-tap/trigger.test.lua 8 additions, 10 deletionstest/app-tap/trigger.test.lua
- test/box/net.box_connect_triggers_gh-2858.result 2 additions, 2 deletionstest/box/net.box_connect_triggers_gh-2858.result
- test/box/net.box_connect_triggers_gh-2858.test.lua 2 additions, 2 deletionstest/box/net.box_connect_triggers_gh-2858.test.lua
Loading
Please register or sign in to comment