Author: anthm Date: Wed Apr 30 21:22:25 2008 New Revision: 8229 Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.c Log: don't exit Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.c (original) +++ freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.c Wed Apr 30 21:22:25 2008 @@ -53,20 +53,6 @@ return 0; } - -static lua_State *lua_init(void) -{ - lua_State *L = lua_open(); - if (L) { - lua_gc(L, LUA_GCSTOP, 0); - luaL_openlibs(L); - luaopen_freeswitch(L); - lua_gc(L, LUA_GCRESTART, 0); - lua_atpanic(L, panic); - } - return L; -} - static void lua_uninit(lua_State *L) { lua_gc(L, LUA_GCCOLLECT, 0); @@ -105,6 +91,24 @@ return status; } + + +static lua_State *lua_init(void) +{ + lua_State *L = lua_open(); + if (L) { + const char *buff = "os.exit = function() freeswitch.consoleLog(\"err\", \"Surely you jest! exiting is a bad plan....\\n\") end"; + lua_gc(L, LUA_GCSTOP, 0); + luaL_openlibs(L); + luaopen_freeswitch(L); + lua_gc(L, LUA_GCRESTART, 0); + lua_atpanic(L, panic); + luaL_loadbuffer(L, buff, strlen(buff), "line") || docall(L, 0, 1); + } + return L; +} + + static void lua_parse_and_execute(lua_State *L, char *input_code) { int error = 0;