summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-05-07 20:26:38 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commit639857b77ba7042bb36436c6194d521b03f5d397 (patch)
tree525d658a202c7fc5404837d039a7dd2c7a14274c /src/basic
parentfc7062176374472f32624f73819188ddab30e411 (diff)
basic: split parsing of the OOM score adjust value into its own function in parse-util.c
And port config_parse_exec_oom_score_adjust() over to use it. While we are at it, let's also fix config_parse_exec_oom_score_adjust() to accept an empty string for turning off OOM score adjustments set earlier.
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/parse-util.c17
-rw-r--r--src/basic/parse-util.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
index ffad4ef45..e9bd8ade1 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -683,3 +683,20 @@ int parse_dev(const char *s, dev_t *ret) {
*ret = d;
return 0;
}
+
+int parse_oom_score_adjust(const char *s, int *ret) {
+ int r, v;
+
+ assert(s);
+ assert(ret);
+
+ r = safe_atoi(s, &v);
+ if (r < 0)
+ return r;
+
+ if (v < OOM_SCORE_ADJ_MIN || v > OOM_SCORE_ADJ_MAX)
+ return -ERANGE;
+
+ *ret = v;
+ return 0;
+}
diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h
index 9250b6fe0..f0f785a88 100644
--- a/src/basic/parse-util.h
+++ b/src/basic/parse-util.h
@@ -122,3 +122,5 @@ int parse_nice(const char *p, int *ret);
int parse_ip_port(const char *s, uint16_t *ret);
#endif // 0
+
+int parse_oom_score_adjust(const char *s, int *ret);