implement gnu sigisemptyset
[musl] / src / misc / ulimit.c
1 #include <sys/resource.h>
2 #include <ulimit.h>
3 #include <stdarg.h>
4
5 long ulimit(int cmd, ...)
6 {
7         struct rlimit rl;
8         getrlimit(RLIMIT_FSIZE, &rl);
9         if (cmd == UL_SETFSIZE) {
10                 long val;
11                 va_list ap;
12                 va_start(ap, cmd);
13                 val = va_arg(ap, long);
14                 va_end(ap);
15                 rl.rlim_cur = 512ULL * val;
16                 if (setrlimit(RLIMIT_FSIZE, &rl)) return -1; 
17         }
18         return rl.rlim_cur / 512;
19 }