From: Tobias Ulmer Date: Mon, 9 Jan 2017 12:41:33 +0000 (+0100) Subject: e2lib: add setpgid X-Git-Tag: e2factory-2.3.16rc1~2 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=6ac916b8b2267c7317e8f453906714767df8192d;p=e2factory.git e2lib: add setpgid currently unused Signed-off-by: Tobias Ulmer --- diff --git a/generic/e2lib.lua b/generic/e2lib.lua index 35cae72..8f495a9 100644 --- a/generic/e2lib.lua +++ b/generic/e2lib.lua @@ -327,6 +327,14 @@ function e2lib.getpid() return le2lib.getpid() end +--- Set process group ID. +-- @pid process id +-- @pgid process group id +-- @raise error on failure. +function e2lib.setpgid(pid, pgid) + return le2lib.setpgid(pid, pgid) +end + --- Send signal to process. -- @param pid Process ID to signal (number). -- @param sig Signal number. diff --git a/generic/le2lib.c b/generic/le2lib.c index d56addc..c65b0af 100644 --- a/generic/le2lib.c +++ b/generic/le2lib.c @@ -481,6 +481,19 @@ do_getpid(lua_State *lua) { return 1; } +static int +do_setpgid(lua_State *L) +{ + int rc, pid, pgid; + + pid = luaL_checkint(L, 1); + pgid = luaL_checkint(L, 2); + if (setpgid(pid, pgid) != 0) + return luaL_error(L, "setpgid: %s", strerror(errno)); + + return 0; +} + static int do_unlink(lua_State *lua) { @@ -940,6 +953,7 @@ static luaL_Reg lib[] = { { "poll", poll_fd }, { "rmdir", do_rmdir }, { "setenv", do_setenv }, + { "setpgid", do_setpgid }, { "signal_reset", signal_reset }, { "stat", get_file_statistics }, { "symlink", create_symlink },