use t_setrlim in the run command
authorSzabolcs Nagy <nsz@port70.net>
Wed, 24 Jul 2013 02:47:29 +0000 (02:47 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Wed, 24 Jul 2013 02:47:29 +0000 (02:47 +0000)
src/common/run.c
src/common/setrlim.c

index 8a2a0f3..36f3c5e 100644 (file)
@@ -14,26 +14,14 @@ static void handler(int s)
 {
 }
 
-static void setrl(int r, long lim) {
-       struct rlimit rl;
-
-       if (getrlimit(r, &rl))
-               t_error("getrlimit %d: %s\n", r, strerror(errno));
-       rl.rlim_cur = lim;
-       if (lim < rl.rlim_max)
-               rl.rlim_max = lim;
-       if (setrlimit(r, &rl))
-               t_error("setrlimit %d: %s\n", r, strerror(errno));
-}
-
 static int start(char *argv[])
 {
        int pid;
 
        pid = fork();
        if (pid == 0) {
-               setrl(RLIMIT_STACK, 100*1024);
-               setrl(RLIMIT_CPU, 2);
+               t_setrlim(RLIMIT_STACK, 100*1024);
+               t_setrlim(RLIMIT_CPU, 2);
                execv(argv[0], argv);
                t_error("%s exec failed: %s\n", argv[0], strerror(errno));
                exit(1);
index fc76a8e..cc89f61 100644 (file)
@@ -18,7 +18,7 @@ int t_setrlim(int r, long lim)
        rl.rlim_max = lim;
        rl.rlim_cur = lim;
        if (setrlimit(r, &rl)) {
-               t_error("setrlimit %d: %s\n", r, strerror(errno));
+               t_error("setrlimit(%d, %ld): %s\n", r, lim, strerror(errno));
                return -1;
        }
        return 0;