gh-676: Propagate C++ exceptions through Lua using cdata objects
* Add FFI bindings to `struct error` * Raise `struct error` from lbox_error(L) using lua_error(L) * Catch `struct error` in lbox_call() and update diagnostics * Move lbox_error() and lbox_call() to src/lua/utils.c * Update most places to use lbox_error(L) to raise C++ exception into Lua * Prepare to remove pcall wrapper in Tarantool 1.7
Showing
- src/box/lua/call.cc 2 additions, 2 deletionssrc/box/lua/call.cc
- src/box/lua/error.cc 7 additions, 10 deletionssrc/box/lua/error.cc
- src/box/lua/error.h 0 additions, 3 deletionssrc/box/lua/error.h
- src/box/lua/session.cc 2 additions, 2 deletionssrc/box/lua/session.cc
- src/box/lua/space.cc 1 addition, 1 deletionsrc/box/lua/space.cc
- src/diag.h 2 additions, 0 deletionssrc/diag.h
- src/exception.cc 8 additions, 0 deletionssrc/exception.cc
- src/lua/fiber.c 2 additions, 2 deletionssrc/lua/fiber.c
- src/lua/init.c 3 additions, 9 deletionssrc/lua/init.c
- src/lua/init.lua 110 additions, 6 deletionssrc/lua/init.lua
- src/lua/pickle.c 2 additions, 2 deletionssrc/lua/pickle.c
- src/lua/utils.c 87 additions, 0 deletionssrc/lua/utils.c
- src/lua/utils.h 9 additions, 12 deletionssrc/lua/utils.h
Loading
Please register or sign in to comment