diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-04-04 18:15:13 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-04-04 18:15:13 +0200 |
commit | 3d57c6ab801f4437f12948e29589e3d00c3ad9db (patch) | |
tree | 95e8c1d399c1e40d3859ef9fb7e2ebc77a7f7052 | |
parent | 3bbecb2f2cd758e2513993efad01180c7c3c665f (diff) |
exec: support unlimited resources
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | man/systemd.exec.xml | 5 | ||||
-rw-r--r-- | src/load-fragment.c | 6 |
3 files changed, 11 insertions, 2 deletions
@@ -25,6 +25,8 @@ F15: Features: +* allow port = 0 in .socket units + * rename systemd-logger to systemd-stdio-syslog-bridge * introduce /usr/lib/binfmt.d/, /usr/lib/tmpfiles.d/ diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index fb8496f54a..5b0d2ce37b 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -558,7 +558,10 @@ various resource limits for executed processes. See <citerefentry><refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details.</para></listitem> + for details. Use the string + <varname>infinity</varname> to + configure no limit on a specific + resource.</para></listitem> </varlistentry> <varlistentry> diff --git a/src/load-fragment.c b/src/load-fragment.c index eea545c8d9..8635bdb226 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -30,6 +30,8 @@ #include <sys/mount.h> #include <linux/fs.h> #include <sys/stat.h> +#include <sys/time.h> +#include <sys/resource.h> #include "unit.h" #include "strv.h" @@ -965,7 +967,9 @@ static int config_parse_limit( assert(rvalue); assert(data); - if (safe_atollu(rvalue, &u) < 0) { + if (streq(rvalue, "infinity")) + u = (unsigned long long) RLIM_INFINITY; + else if (safe_atollu(rvalue, &u) < 0) { log_error("[%s:%u] Failed to parse resource value, ignoring: %s", filename, line, rvalue); return 0; } |