X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fdbus-execute.c;h=cdc15b25cef15f9902654ac910d8c25d70aa6301;hp=1222d1bfd237b35d3ddb54f1da5ec9a49491d2cd;hb=70ca520f43d8cd3f9c6895d20ec87498b626bd75;hpb=674cdd1933ef5301385d2119a4d1c5e9c862f0a2 diff --git a/src/dbus-execute.c b/src/dbus-execute.c index 1222d1bfd..cdc15b25c 100644 --- a/src/dbus-execute.c +++ b/src/dbus-execute.c @@ -1,4 +1,4 @@ -/*-*- Mode: C; c-basic-offset: 8 -*-*/ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ /*** This file is part of systemd. @@ -33,7 +33,7 @@ DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_execute_append_kill_mode, kill_mode, KillMod DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_execute_append_input, exec_input, ExecInput); DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_execute_append_output, exec_output, ExecOutput); -int bus_execute_append_oom_adjust(Manager *m, DBusMessageIter *i, const char *property, void *data) { +int bus_execute_append_oom_score_adjust(Manager *m, DBusMessageIter *i, const char *property, void *data) { ExecContext *c = data; int32_t n; @@ -42,15 +42,23 @@ int bus_execute_append_oom_adjust(Manager *m, DBusMessageIter *i, const char *pr assert(property); assert(c); - if (c->oom_adjust_set) - n = c->oom_adjust; + if (c->oom_score_adjust_set) + n = c->oom_score_adjust; else { char *t; n = 0; - if (read_one_line_file("/proc/self/oom_adj", &t) >= 0) { + if (read_one_line_file("/proc/self/oom_score_adj", &t) >= 0) { safe_atoi(t, &n); free(t); + } else if (read_one_line_file("/proc/self/oom_adj", &t) >= 0) { + safe_atoi(t, &n); + free(t); + + if (n == OOM_ADJUST_MAX) + n = OOM_SCORE_ADJ_MAX; + else + n = (n * OOM_SCORE_ADJ_MAX) / -OOM_DISABLE; } }