My situation is that I’m using the Lua (C) API to execute a script held in a string.
I would like the user to be able to terminate the execution of the script (this is essential if the script contains an infinite loop), how can I do this?
lua_State *Lua = lua_open();
char * code;
// Initialisation code
luaL_dostring(L, code);
You can use a hook to callback to C every time lua executes a line of the script.
In this hook function you can check if the user wanted to quit, and call lua_error if they did.