summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-03-05 02:29:58 +0100
committerLennart Poettering <lennart@poettering.net>2014-03-05 02:31:09 +0100
commit517d56b1d0f67dcf76710bc1e17b05518b8cabe6 (patch)
tree1d1baa6af8fb323fc0c2eb02a1ae59dbeba2d049 /src/shared
parenta049d1a9723b6608e45bf8f1a64dab5761dee555 (diff)
missing: if RLIMIT_RTTIME is not defined by the libc, then we need a new define for the max number of rlimits, too
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/missing.h3
-rw-r--r--src/shared/util.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/shared/missing.h b/src/shared/missing.h
index 06c69dac8e..4e63fb9ac4 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -47,6 +47,9 @@
#define RLIMIT_RTTIME 15
#endif
+/* If RLIMIT_RTTIME is not defined, then we cannot use RLIMIT_NLIMITS as is */
+#define _RLIMIT_MAX (RLIMIT_RTTIME+1 > RLIMIT_NLIMITS ? RLIMIT_RTTIME+1 : RLIMIT_NLIMITS)
+
#ifndef F_LINUX_SPECIFIC_BASE
#define F_LINUX_SPECIFIC_BASE 1024
#endif
diff --git a/src/shared/util.c b/src/shared/util.c
index 10daff3036..8c7cfbd6df 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -83,6 +83,7 @@
#include "gunicode.h"
#include "virt.h"
#include "def.h"
+#include "missing.h"
int saved_argc = 0;
char **saved_argv = NULL;
@@ -4713,7 +4714,7 @@ static const char* const sched_policy_table[] = {
DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(sched_policy, int, INT_MAX);
-static const char* const rlimit_table[] = {
+static const char* const rlimit_table[_RLIMIT_MAX] = {
[RLIMIT_CPU] = "LimitCPU",
[RLIMIT_FSIZE] = "LimitFSIZE",
[RLIMIT_DATA] = "LimitDATA",