summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-07-23 10:22:24 +0200
committerLennart Poettering <lennart@poettering.net>2019-07-23 16:08:06 +0200
commitfa39c2de5b5552ffe804d1a5ae9b64dae8c72152 (patch)
treeabadfa8fec648a7b6714c14e80548416d030e9e2 /src
parent07530d706561cb5fe7b04f5dd642cfb2eb26cb2e (diff)
downloadsystemd-fa39c2de5b5552ffe804d1a5ae9b64dae8c72152.tar.gz
systemd-fa39c2de5b5552ffe804d1a5ae9b64dae8c72152.tar.bz2
systemd-fa39c2de5b5552ffe804d1a5ae9b64dae8c72152.zip
logind: unify inhibitor signal generation in a single function
Diffstat (limited to 'src')
-rw-r--r--src/login/logind-inhibit.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c
index 3bb04a5d31..773a7ee008 100644
--- a/src/login/logind-inhibit.c
+++ b/src/login/logind-inhibit.c
@@ -143,6 +143,16 @@ fail:
return log_error_errno(r, "Failed to save inhibit data %s: %m", i->state_file);
}
+static int bus_manager_send_inhibited_change(Inhibitor *i) {
+ const char *property;
+
+ assert(i);
+
+ property = i->mode == INHIBIT_BLOCK ? "BlockInhibited" : "DelayInhibited";
+
+ return manager_send_changed(i->manager, property, NULL);
+}
+
int inhibitor_start(Inhibitor *i) {
assert(i);
@@ -156,11 +166,11 @@ int inhibitor_start(Inhibitor *i) {
i->pid, i->uid,
inhibit_mode_to_string(i->mode));
- inhibitor_save(i);
-
i->started = true;
- manager_send_changed(i->manager, i->mode == INHIBIT_BLOCK ? "BlockInhibited" : "DelayInhibited", NULL);
+ inhibitor_save(i);
+
+ bus_manager_send_inhibited_change(i);
return 0;
}
@@ -179,7 +189,7 @@ int inhibitor_stop(Inhibitor *i) {
i->started = false;
- manager_send_changed(i->manager, i->mode == INHIBIT_BLOCK ? "BlockInhibited" : "DelayInhibited", NULL);
+ bus_manager_send_inhibited_change(i);
return 0;
}