Be nice()
authorSteven Barth <steven@midlink.org>
Tue, 10 Mar 2009 20:59:56 +0000 (20:59 +0000)
committerSteven Barth <steven@midlink.org>
Tue, 10 Mar 2009 20:59:56 +0000 (20:59 +0000)
libs/nixio/src/process.c

index af44484dad7ad587aa13dd91801652e119451c61..0d60ed19055ffea0619a11f6da55e03182145f55 100644 (file)
@@ -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},