• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <string.h>
2 #include <errno.h>
3 #include <sys/resource.h>
4 #include "test.h"
5 
t_setrlim(int r,long lim)6 int t_setrlim(int r, long lim)
7 {
8 	struct rlimit rl;
9 
10 	if (getrlimit(r, &rl)) {
11 		t_error("getrlimit %d: %s\n", r, strerror(errno));
12 		return -1;
13 	}
14 	if (lim > rl.rlim_max)
15 		return -1;
16 	if (lim == rl.rlim_max && lim == rl.rlim_cur)
17 		return 0;
18 	rl.rlim_max = lim;
19 	rl.rlim_cur = lim;
20 	if (setrlimit(r, &rl)) {
21 		t_error("setrlimit(%d, %ld): %s\n", r, lim, strerror(errno));
22 		return -1;
23 	}
24 	return 0;
25 }
26 
27