summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-04-04 18:15:13 +0200
committerLennart Poettering <lennart@poettering.net>2011-04-04 18:15:13 +0200
commit3d57c6ab801f4437f12948e29589e3d00c3ad9db (patch)
tree95e8c1d399c1e40d3859ef9fb7e2ebc77a7f7052
parent3bbecb2f2cd758e2513993efad01180c7c3c665f (diff)
exec: support unlimited resources
-rw-r--r--TODO2
-rw-r--r--man/systemd.exec.xml5
-rw-r--r--src/load-fragment.c6
3 files changed, 11 insertions, 2 deletions
diff --git a/TODO b/TODO
index 466dadc092..494f991aaf 100644
--- a/TODO
+++ b/TODO
@@ -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;
}