diff options
author | Lennart Poettering <lennart@poettering.net> | 2021-09-30 11:19:11 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-10-04 16:27:10 +0200 |
commit | 2c37c613a78637059a6b219912946b50c8109aee (patch) | |
tree | c54e833d510dc0ba9d9971fea9ebe8792176908d /src/basic/process-util.c | |
parent | 9d0ad242b84ccf08a370aa019c638300429ad5eb (diff) | |
download | systemd-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.c | 18 |
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; |