chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dbus: log received message only once, in filter function
[elogind.git]
/
src
/
dbus-unit.c
diff --git
a/src/dbus-unit.c
b/src/dbus-unit.c
index 17ca7bdd8965bc51dd5da46fc5e60496c9457195..85125c96337d4933b7c5a9be1433a7e984adf7e0 100644
(file)
--- a/
src/dbus-unit.c
+++ b/
src/dbus-unit.c
@@
-272,6
+272,8
@@
static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
job_type = JOB_RELOAD;
else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Unit", "Restart"))
job_type = JOB_RESTART;
job_type = JOB_RELOAD;
else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Unit", "Restart"))
job_type = JOB_RESTART;
+ else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Unit", "TryRestart"))
+ job_type = JOB_TRY_RESTART;
else if (UNIT_VTABLE(u)->bus_message_handler)
return UNIT_VTABLE(u)->bus_message_handler(u, connection, message);
else
else if (UNIT_VTABLE(u)->bus_message_handler)
return UNIT_VTABLE(u)->bus_message_handler(u, connection, message);
else
@@
-343,11
+345,6
@@
static DBusHandlerResult bus_unit_message_handler(DBusConnection *connection, DB
assert(message);
assert(m);
assert(message);
assert(m);
- log_debug("Got D-Bus request: %s.%s() on %s",
- dbus_message_get_interface(message),
- dbus_message_get_member(message),
- dbus_message_get_path(message));
-
if ((r = manager_get_unit_from_dbus_path(m, dbus_message_get_path(message), &u)) < 0) {
if (r == -ENOMEM)
if ((r = manager_get_unit_from_dbus_path(m, dbus_message_get_path(message), &u)) < 0) {
if (r == -ENOMEM)
@@
-376,7
+373,7
@@
void bus_unit_send_change_signal(Unit *u) {
LIST_REMOVE(Meta, dbus_queue, u->meta.manager->dbus_unit_queue, &u->meta);
u->meta.in_dbus_queue = false;
LIST_REMOVE(Meta, dbus_queue, u->meta.manager->dbus_unit_queue, &u->meta);
u->meta.in_dbus_queue = false;
- if (
set_isempty(u->meta.manager->subscribed
)) {
+ if (
!bus_has_subscriber(u->meta.manager
)) {
u->meta.sent_dbus_new_signal = true;
return;
}
u->meta.sent_dbus_new_signal = true;
return;
}
@@
-427,7
+424,7
@@
void bus_unit_send_removed_signal(Unit *u) {
assert(u);
assert(u);
- if (
set_isempty(u->meta.manager->subscribed
))
+ if (
!bus_has_subscriber(u->meta.manager
))
return;
if (!u->meta.sent_dbus_new_signal)
return;
if (!u->meta.sent_dbus_new_signal)