Move lua_State creation to digwatch main

This commit is contained in:
Henri DF
2016-02-23 18:18:43 -08:00
parent 3e73f01472
commit 636429c674
3 changed files with 10 additions and 6 deletions

View File

@@ -150,6 +150,7 @@ int digwatch_init(int argc, char **argv)
int long_index = 0;
string lua_main_filename;
string lua_dir = DIGWATCH_INSTALLATION_DIR;
lua_State* ls;
static struct option long_options[] =
{
@@ -259,7 +260,11 @@ int digwatch_init(int argc, char **argv)
lua_main_filename = lua_dir + DIGWATCH_LUA_MAIN;
}
rules = new digwatch_rules(inspector, lua_main_filename, lua_dir);
// Initialize Lua interpreter
ls = lua_open();
luaL_openlibs(ls);
rules = new digwatch_rules(inspector, ls, lua_main_filename, lua_dir);
rules->load_rules(rules_file);
inspector->set_filter(rules->get_filter());
@@ -290,6 +295,7 @@ exit:
delete inspector;
}
lua_close(ls);
return result;
}

View File

@@ -15,13 +15,11 @@ const static struct luaL_reg ll_digwatch [] =
{NULL,NULL}
};
digwatch_rules::digwatch_rules(sinsp* inspector, string lua_main_filename, string lua_dir)
digwatch_rules::digwatch_rules(sinsp* inspector, lua_State *ls, string lua_main_filename, string lua_dir)
{
g_inspector = inspector;
// Initialize Lua interpreter
m_ls = lua_open();
luaL_openlibs(m_ls);
m_ls = ls;
m_lua_parser = new lua_parser(inspector, m_ls);

View File

@@ -8,7 +8,7 @@ class sinsp_evt_formatter;
class digwatch_rules
{
public:
digwatch_rules(sinsp* inspector, string lua_main_filename, string lua_dir);
digwatch_rules(sinsp* inspector, lua_State *ls, string lua_main_filename, string lua_dir);
~digwatch_rules();
void load_rules(string rules_filename);
sinsp_filter* get_filter();