summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/dbus-manager.c12
-rw-r--r--src/shared/install.h12
2 files changed, 13 insertions, 11 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 0c3b011b8b..ddfde23028 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -1565,13 +1565,11 @@ static int reply_unit_file_changes_and_free(
unsigned i;
int r;
- for (i = 0; i < n_changes; i++)
- if (unit_file_change_is_modification(changes[i].type)) {
- r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL);
- if (r < 0)
- log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m");
- break;
- }
+ if (unit_file_changes_have_modification(changes, n_changes)) {
+ r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL);
+ if (r < 0)
+ log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m");
+ }
r = sd_bus_message_new_method_return(message, &reply);
if (r < 0)
diff --git a/src/shared/install.h b/src/shared/install.h
index 99cd1409f3..219b48f428 100644
--- a/src/shared/install.h
+++ b/src/shared/install.h
@@ -77,16 +77,20 @@ enum UnitFileChangeType {
_UNIT_FILE_CHANGE_TYPE_INVALID = -1
};
-static inline bool unit_file_change_is_modification(UnitFileChangeType type) {
- return IN_SET(type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK);
-}
-
struct UnitFileChange {
UnitFileChangeType type;
char *path;
char *source;
};
+static inline bool unit_file_changes_have_modification(const UnitFileChange* changes, unsigned n_changes) {
+ unsigned i;
+ for (i = 0; i < n_changes; i++)
+ if (IN_SET(changes[i].type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK))
+ return true;
+ return false;
+}
+
struct UnitFileList {
char *path;
UnitFileState state;