From a4750b971298b0b51f8db259b7f8f5976ee461d5 Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Wed, 29 Oct 2008 22:56:49 +0000 Subject: [PATCH] added support for MEMLOCK rlimit --- src/planetlab.c | 9 +++++++++ src/planetlab.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/planetlab.c b/src/planetlab.c index 92042fb..90ba4dd 100644 --- a/src/planetlab.c +++ b/src/planetlab.c @@ -300,6 +300,10 @@ pl_get_limits(const char *context, struct sliver_resources *slr) {"rlimits/openfd.soft", TYPE_LONG, &slr->vs_openfd.soft}, {"rlimits/openfd.min", TYPE_LONG, &slr->vs_openfd.min}, + {"rlimits/memlock.hard", TYPE_LONG, &slr->vs_memlock.hard}, + {"rlimits/memlock.soft", TYPE_LONG, &slr->vs_memlock.soft}, + {"rlimits/memlock.min", TYPE_LONG, &slr->vs_memlock.min}, + {"personality", TYPE_PERS, &slr->personality}, {0,0} @@ -323,6 +327,10 @@ pl_get_limits(const char *context, struct sliver_resources *slr) slr->vs_openfd.soft = VC_LIM_KEEP; slr->vs_openfd.min = VC_LIM_KEEP; + slr->vs_memlock.hard = VC_LIM_KEEP; + slr->vs_memlock.soft = VC_LIM_KEEP; + slr->vs_memlock.min = VC_LIM_KEEP; + slr->personality = 0; cwd = open(".", O_RDONLY); @@ -438,5 +446,6 @@ pl_set_ulimits(const struct sliver_resources *slr) set_one_ulimit(RLIMIT_AS, &slr->vs_as); set_one_ulimit(RLIMIT_NPROC, &slr->vs_nproc); set_one_ulimit(RLIMIT_NOFILE, &slr->vs_openfd); + set_one_ulimit(RLIMIT_MEMLOCK, &slr->vs_memlock); return set_personality(slr->personality); } diff --git a/src/planetlab.h b/src/planetlab.h index 088eba0..66bd84d 100644 --- a/src/planetlab.h +++ b/src/planetlab.h @@ -46,6 +46,7 @@ struct sliver_resources { struct vc_rlimit vs_as; struct vc_rlimit vs_nproc; struct vc_rlimit vs_openfd; + struct vc_rlimit vs_memlock; unsigned long int personality; }; -- 2.43.0