diff --git a/mod/box/box_lua.m b/mod/box/box_lua.m index 28add972b21257aa6f321ec60cd086a81f73ae65..30e18c86e2c74204b02a98ad32eaec32c0cf84af 100644 --- a/mod/box/box_lua.m +++ b/mod/box/box_lua.m @@ -642,6 +642,10 @@ static int lbox_process(lua_State *L) rw_callback(op, &req); } @finally { fiber->mod_data.txn = old_txn; + /* + * This only works as long as port_lua doesn't + * use fiber->cleanup and fiber->gc_pool. + */ ptruncate(fiber->gc_pool, allocated_size); } return lua_gettop(L) - top; diff --git a/mod/box/port.m b/mod/box/port.m index fe6c08f1a3fb4d6fc1245eeff9abc8b1451be68e..c0af5c5fdb38a1c5687d72abd9a704f96762ea2a 100644 --- a/mod/box/port.m +++ b/mod/box/port.m @@ -28,9 +28,8 @@ */ #include "port.h" #include <pickle.h> +#include <fiber.h> #include <tarantool_lua.h> -#include "request.h" -#include "txn.h" #include "tuple.h" #include "box_lua.h" #include "lua.h"