return cpuInit(nsjconf);
}
-/* uClibc doesn't provide prlimit64 natively */
-static int containSetLimit64(int resource, struct rlimit64 *rlim)
-{
- return syscall(__NR_prlimit64, (uintptr_t) 0, (uintptr_t) resource, rlim, NULL);
-}
-
static bool containSetLimits(struct nsjconf_t *nsjconf)
{
struct rlimit64 rl;
rl.rlim_cur = rl.rlim_max = nsjconf->rl_as;
- if (containSetLimit64(RLIMIT_AS, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_AS, %" PRIu64 ")", nsjconf->rl_as);
+ if (setrlimit64(RLIMIT_AS, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_AS, %" PRIu64 ")", nsjconf->rl_as);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_core;
- if (containSetLimit64(RLIMIT_CORE, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_CORE, %" PRIu64 ")", nsjconf->rl_core);
+ if (setrlimit64(RLIMIT_CORE, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_CORE, %" PRIu64 ")", nsjconf->rl_core);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_cpu;
- if (containSetLimit64(RLIMIT_CPU, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_CPU, %" PRIu64 ")", nsjconf->rl_cpu);
+ if (setrlimit64(RLIMIT_CPU, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_CPU, %" PRIu64 ")", nsjconf->rl_cpu);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_fsize;
- if (containSetLimit64(RLIMIT_FSIZE, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_FSIZE, %" PRIu64 ")", nsjconf->rl_fsize);
+ if (setrlimit64(RLIMIT_FSIZE, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_FSIZE, %" PRIu64 ")", nsjconf->rl_fsize);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_nofile;
- if (containSetLimit64(RLIMIT_NOFILE, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_NOFILE, %" PRIu64 ")", nsjconf->rl_nofile);
+ if (setrlimit64(RLIMIT_NOFILE, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_NOFILE, %" PRIu64 ")", nsjconf->rl_nofile);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_nproc;
- if (containSetLimit64(RLIMIT_NPROC, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_NPROC, %" PRIu64 ")", nsjconf->rl_nproc);
+ if (setrlimit64(RLIMIT_NPROC, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_NPROC, %" PRIu64 ")", nsjconf->rl_nproc);
return false;
}
rl.rlim_cur = rl.rlim_max = nsjconf->rl_stack;
- if (containSetLimit64(RLIMIT_STACK, &rl) == -1) {
- PLOG_E("containSetLimit64(0, RLIMIT_STACK, %" PRIu64 ")", nsjconf->rl_stack);
+ if (setrlimit64(RLIMIT_STACK, &rl) == -1) {
+ PLOG_E("setrlimit64(0, RLIMIT_STACK, %" PRIu64 ")", nsjconf->rl_stack);
return false;
}
return true;