summaryrefslogtreecommitdiff
path: root/src/basic/process-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-09-30 11:19:11 +0200
committerLennart Poettering <lennart@poettering.net>2021-10-04 16:27:10 +0200
commit2c37c613a78637059a6b219912946b50c8109aee (patch)
treec54e833d510dc0ba9d9971fea9ebe8792176908d /src/basic/process-util.c
parent9d0ad242b84ccf08a370aa019c638300429ad5eb (diff)
downloadsystemd-2c37c613a78637059a6b219912946b50c8109aee.tar.gz
process-util: add helper for querying oom score adjustment value
Diffstat (limited to 'src/basic/process-util.c')
-rw-r--r--src/basic/process-util.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index c424f62ef3..5e7ed06ea5 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -1502,6 +1502,24 @@ int set_oom_score_adjust(int value) {
WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
}
+int get_oom_score_adjust(int *ret) {
+ _cleanup_free_ char *t;
+ int r, a;
+
+ r = read_virtual_file("/proc/self/oom_score_adj", SIZE_MAX, &t, NULL);
+ if (r < 0)
+ return r;
+
+ delete_trailing_chars(t, WHITESPACE);
+
+ assert_se(safe_atoi(t, &a) >= 0);
+ assert_se(oom_score_adjust_is_valid(a));
+
+ if (ret)
+ *ret = a;
+ return 0;
+}
+
int pidfd_get_pid(int fd, pid_t *ret) {
char path[STRLEN("/proc/self/fdinfo/") + DECIMAL_STR_MAX(int)];
_cleanup_free_ char *fdinfo = NULL;