char *k;
int ret = 0;
HASHMAP_FOREACH_KEY(u, k, m->units) {
+ _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+
/* ignore aliases */
if (u->id != k)
continue;
else
continue;
- r = mac_selinux_unit_access_check(u, message, "start", reterr_error);
+ r = mac_selinux_unit_access_check(u, message, "start", &error);
if (r >= 0)
r = bus_unit_queue_job_one(message, u,
JOB_TRY_RESTART, JOB_FAIL, flags,
- reply, reterr_error);
+ reply, &error);
if (ERRNO_IS_NEG_RESOURCE(r))
return r;
if (r < 0) {
- if (ret >= 0)
- ret = r;
- sd_bus_error_free(reterr_error);
+ RET_GATHER(ret, r);
+ log_warning_errno(r, "%s", bus_error_message(&error, r));
}
}