On Thu, 5 Sep 2013 14:33:28 +0200 Natanael Copa <nc...@alpinelinux.org> wrote:
> So we avoid running os.execute > > Signed-off-by: Natanael Copa <nc...@alpinelinux.org> This is very nice, thanks. Note this patch is on top of Natanael's 5.1 -> 5.2 patch, it will need to be updated if we apply my 5.1 -> 5.2 instead. Either way, this is much better than os.execute :) Acked-by: Dwight Engen <dwight.en...@oracle.com> > --- > src/lua-lxc/core.c | 9 +++++++++ > src/lxc/lxc-top | 12 ++---------- > 2 files changed, 11 insertions(+), 10 deletions(-) > > diff --git a/src/lua-lxc/core.c b/src/lua-lxc/core.c > index d404707..504e147 100644 > --- a/src/lua-lxc/core.c > +++ b/src/lua-lxc/core.c > @@ -27,11 +27,13 @@ > #include <lauxlib.h> > #include <assert.h> > #include <string.h> > +#include <unistd.h> > #include <lxc/lxccontainer.h> > > #if LUA_VERSION_NUM < 502 > #define luaL_newlib(L,l) (lua_newtable(L), luaL_register(L,NULL,l)) > #define luaL_setfuncs(L,l,n) (assert(n==0), luaL_register(L,NULL,l)) > +#define luaL_checkunsigned(L,n) luaL_checknumber(L,n) > #endif > > #ifdef NO_CHECK_UDATA > @@ -379,10 +381,17 @@ static int > lxc_default_config_path_get(lua_State *L) { return 1; > } > > +/* utility functions */ > +static int lxc_util_usleep(lua_State *L) { > + usleep((useconds_t)luaL_checkunsigned(L, 1)); > + return 0; > +} > + > static luaL_Reg lxc_lib_methods[] = { > {"version_get", lxc_version_get}, > {"default_config_path_get", lxc_default_config_path_get}, > {"container_new", container_new}, > + {"usleep", lxc_util_usleep}, > {NULL, NULL} > }; > > diff --git a/src/lxc/lxc-top b/src/lxc/lxc-top > index 31aaecf..8e8bafb 100755 > --- a/src/lxc/lxc-top > +++ b/src/lxc/lxc-top > @@ -22,6 +22,7 @@ > -- > > local lxc = require("lxc") > +local core = require("lxc.core") > local getopt = require("alt_getopt") > local lfs = require("lfs") > > @@ -95,15 +96,6 @@ function strsisize(size, width) > return string.format("%3d.00 ", size) > end > > -function usleep(n) > - if (n ~= 0) then > - ret = os.execute("usleep " .. tonumber(n)) > - if (ret ~= 0) then > - os.exit(0) > - end > - end > -end > - > function tty_lines() > local rows = 25 > local f = assert(io.popen("stty -a | head -n 1")) > @@ -238,5 +230,5 @@ do > end > stats_print(string.format("TOTAL (%-2d)", #containers), > stats_total) io.flush() > - usleep(optarg["d"] * 1000000) > + core.usleep(optarg["d"] * 1000000) > end ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel