diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/nixio/src/process.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/nixio/src/process.c b/libs/nixio/src/process.c index af44484da..0d60ed190 100644 --- a/libs/nixio/src/process.c +++ b/libs/nixio/src/process.c @@ -149,12 +149,27 @@ static int nixio_setuid(lua_State *L) { return nixio__pstatus(L, !setuid(uid)); } +static int nixio_nice(lua_State *L) { + int nval = luaL_checkint(L, 1); + + errno = 0; + nval = nice(nval); + + if (nval == -1 && errno) { + return nixio__perror(L); + } else { + lua_pushinteger(L, nval); + return 1; + } +} + /* module table */ static const luaL_reg R[] = { {"fork", nixio_fork}, {"wait", nixio_wait}, {"kill", nixio_kill}, + {"nice", nixio_nice}, {"getpid", nixio_getpid}, {"getppid", nixio_getppid}, {"getuid", nixio_getuid}, |