core/device: check that no unit is ready and not simultaneously

This should not happen, just for safety.
This commit is contained in:
Yu Watanabe
2022-09-21 03:30:11 +09:00
parent c352110adc
commit a4cb8afb8f

View File

@@ -903,6 +903,13 @@ static int device_setup_units(Manager *m, sd_device *dev, Set **ready_units, Set
/* Next, add/update additional .device units point to aliases and symlinks. */
(void) device_setup_extra_units(m, dev, ready_units, not_ready_units);
/* Safety check: no unit should be in ready_units and not_ready_units simultaneously. */
Unit *u;
SET_FOREACH(u, *not_ready_units)
if (set_remove(*ready_units, u))
log_unit_error(u, "Cannot active and deactive simultaneously. Deactivating.");
return 0;
}