if (unit_active_state(u) != UNIT_INACTIVE)
return true;
+ if (u->refs)
+ return true;
+
if (UNIT_VTABLE(u)->check_gc)
if (UNIT_VTABLE(u)->check_gc(u))
return true;
if (t != JOB_START && t != JOB_STOP && t != JOB_RELOAD)
return;
+ if (log_on_console())
+ return;
+
/* We log status messages for all units and all operations. */
format = unit_get_status_message_format_try_harder(u, t);
/* Note that this is called for all low-level state changes,
* even if they might map to the same high-level
* UnitActiveState! That means that ns == os is OK an expected
- * behaviour here. For example: if a mount point is remounted
+ * behavior here. For example: if a mount point is remounted
* this function will be called too! */
if (u->manager->n_reloading <= 0) {
r = manager_load_unit(u->manager, e, NULL, NULL, &device);
free(e);
-
if (r < 0)
return r;
- if ((r = unit_add_two_dependencies(u, UNIT_AFTER, UNIT_BINDS_TO, device, true)) < 0)
+ r = unit_add_two_dependencies(u, UNIT_AFTER, UNIT_BINDS_TO, device, true);
+ if (r < 0)
return r;
- if (wants)
- if ((r = unit_add_dependency(device, UNIT_WANTS, u, false)) < 0)
+ if (wants) {
+ r = unit_add_dependency(device, UNIT_WANTS, u, false);
+ if (r < 0)
return r;
+ }
return 0;
}