- if (dropin_paths)
- r = unit_file_find_dropin_paths(lp->unit_path, NULL, names, dropin_paths);
- }
-
- return r;
-}
-
-typedef struct WaitData {
- Set *set;
-
- char *name;
- char *result;
-} WaitData;
-
-static int wait_filter(sd_bus *bus, sd_bus_message *m, void *data, sd_bus_error *error) {
- WaitData *d = data;
-
- assert(bus);
- assert(m);
- assert(d);
-
- log_debug("Got D-Bus request: %s.%s() on %s",
- sd_bus_message_get_interface(m),
- sd_bus_message_get_member(m),
- sd_bus_message_get_path(m));
-
- if (sd_bus_message_is_signal(m, "org.freedesktop.DBus.Local", "Disconnected")) {
- log_error("Warning! D-Bus connection terminated.");
- sd_bus_close(bus);
- } else if (sd_bus_message_is_signal(m, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
- uint32_t id;
- const char *path, *result, *unit;
- char *ret;
- int r;
-
- r = sd_bus_message_read(m, "uoss", &id, &path, &unit, &result);
- if (r >= 0) {
- ret = set_remove(d->set, (char*) path);
- if (!ret)
- return 0;
-
- free(ret);
-
- if (!isempty(result))
- d->result = strdup(result);
-
- if (!isempty(unit))
- d->name = strdup(unit);
-
- return 0;
- }
-#ifndef NOLEGACY
- r = sd_bus_message_read(m, "uos", &id, &path, &result);
- if (r >= 0) {
- ret = set_remove(d->set, (char*) path);
- if (!ret)
- return 0;
-
- free(ret);
-
- if (*result)
- d->result = strdup(result);
-
- return 0;