diff options
| -rw-r--r-- | src/misc/ulimit.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/src/misc/ulimit.c b/src/misc/ulimit.c new file mode 100644 index 00000000..f0eee3a0 --- /dev/null +++ b/src/misc/ulimit.c @@ -0,0 +1,19 @@ +#include <sys/resource.h> +#include <ulimit.h> +#include <stdarg.h> + +long ulimit(int cmd, ...) +{ +	struct rlimit rl; +	getrlimit(RLIMIT_FSIZE, &rl); +	if (cmd == UL_SETFSIZE) { +		long val; +		va_list ap; +		va_start(ap, cmd); +		val = va_arg(ap, long); +		va_end(ap); +		rl.rlim_cur = 512ULL * val; +		if (setrlimit(RLIMIT_FSIZE, &rl)) return -1;  +	} +	return rl.rlim_cur / 512; +}  | 
