This reflects how this field will be used, to not only track where
to send signals, but also which callers (other than root) are allowed
to call DBus methods on the Job.
j->in_dbus_queue = false;
}
j->in_dbus_queue = false;
}
- r = bus_foreach_bus(j->manager, j->subscribed, j->sent_dbus_new_signal ? send_changed_signal : send_new_signal, j);
+ r = bus_foreach_bus(j->manager, j->clients, j->sent_dbus_new_signal ? send_changed_signal : send_new_signal, j);
if (r < 0)
log_debug("Failed to send job change signal for %u: %s", j->id, strerror(-r));
if (r < 0)
log_debug("Failed to send job change signal for %u: %s", j->id, strerror(-r));
if (!j->sent_dbus_new_signal)
bus_job_send_change_signal(j);
if (!j->sent_dbus_new_signal)
bus_job_send_change_signal(j);
- r = bus_foreach_bus(j->manager, j->subscribed, send_removed_signal, j);
+ r = bus_foreach_bus(j->manager, j->clients, send_removed_signal, j);
if (r < 0)
log_debug("Failed to send job remove signal for %u: %s", j->id, strerror(-r));
}
if (r < 0)
log_debug("Failed to send job remove signal for %u: %s", j->id, strerror(-r));
}
return r;
if (bus == u->manager->api_bus) {
return r;
if (bus == u->manager->api_bus) {
- if (!j->subscribed) {
- r = sd_bus_track_new(bus, &j->subscribed, NULL, NULL);
+ if (!j->clients) {
+ r = sd_bus_track_new(bus, &j->clients, NULL, NULL);
- r = sd_bus_track_add_sender(j->subscribed, message);
+ r = sd_bus_track_add_sender(j->clients, message);
m->subscribed = sd_bus_track_unref(m->subscribed);
HASHMAP_FOREACH(j, m->jobs, i)
m->subscribed = sd_bus_track_unref(m->subscribed);
HASHMAP_FOREACH(j, m->jobs, i)
- if (j->subscribed && sd_bus_track_get_bus(j->subscribed) == *bus)
- j->subscribed = sd_bus_track_unref(j->subscribed);
+ if (j->clients && sd_bus_track_get_bus(j->clients) == *bus)
+ j->clients = sd_bus_track_unref(j->clients);
/* Get rid of queued message on this bus */
if (m->queued_message_bus == *bus) {
/* Get rid of queued message on this bus */
if (m->queued_message_bus == *bus) {
sd_event_source_unref(j->timer_event_source);
sd_event_source_unref(j->timer_event_source);
- sd_bus_track_unref(j->subscribed);
- strv_free(j->deserialized_subscribed);
+ sd_bus_track_unref(j->clients);
+ strv_free(j->deserialized_clients);
if (j->begin_usec > 0)
fprintf(f, "job-begin="USEC_FMT"\n", j->begin_usec);
if (j->begin_usec > 0)
fprintf(f, "job-begin="USEC_FMT"\n", j->begin_usec);
- bus_track_serialize(j->subscribed, f);
+ bus_track_serialize(j->clients, f);
/* End marker */
fputc('\n', f);
/* End marker */
fputc('\n', f);
} else if (streq(l, "subscribed")) {
} else if (streq(l, "subscribed")) {
- if (strv_extend(&j->deserialized_subscribed, v) < 0)
+ if (strv_extend(&j->deserialized_clients, v) < 0)
/* After deserialization is complete and the bus connection
* set up again, let's start watching our subscribers again */
/* After deserialization is complete and the bus connection
* set up again, let's start watching our subscribers again */
- r = bus_track_coldplug(j->manager, &j->subscribed, &j->deserialized_subscribed);
+ r = bus_track_coldplug(j->manager, &j->clients, &j->deserialized_clients);
sd_event_source *timer_event_source;
usec_t begin_usec;
sd_event_source *timer_event_source;
usec_t begin_usec;
- /* There can be more than one client, because of job merging. */
- sd_bus_track *subscribed;
- char **deserialized_subscribed;
+ /*
+ * This tracks where to send signals, and also which clients
+ * are allowed to call DBus methods on the job (other than
+ * root).
+ *
+ * There can be more than one client, because of job merging.
+ */
+ sd_bus_track *clients;
+ char **deserialized_clients;