added container:attach() into the Lua API

This commit is contained in:
PiXy 2014-11-07 11:04:42 +02:00
parent 5d20559cff
commit ed70d07839
2 changed files with 30 additions and 0 deletions

View File

@ -376,8 +376,34 @@ not_found:
return 1;
}
static int container_attach(lua_State *L)
{
struct lxc_container *c = lua_unboxpointer(L, 1, CONTAINER_TYPENAME);
int argc = lua_gettop(L);
char **argv = NULL;
int i,j;
if (argc > 1) {
argv = alloca((argc+1) * sizeof(char *));
for (i = 0, j = 0; i < argc-1; i++) {
const char *arg = luaL_checkstring(L, i+2);
argv[j++] = strdupa(arg);
}
argv[j] = NULL;
}
else
{
lua_pushnil(L);
return 1;
}
lua_pushboolean(L, !!(c->attach_run_wait(c, NULL, argv[0], (const char**)argv)));
return 1;
}
static luaL_Reg lxc_container_methods[] =
{
{"attach", container_attach},
{"create", container_create},
{"defined", container_defined},
{"destroy", container_destroy},

View File

@ -91,6 +91,10 @@ function container:new(lname, config)
end
-- methods interfacing to core functionality
function container:attach(what, ...)
return self.core:attach(what, ...)
end
function container:config_file_name()
return self.core:config_file_name()
end