core: drop "override" flag when building transactions
Now that we don't have RequiresOverridable= and RequisiteOverridable= dependencies anymore, we can get rid of tracking the "override" boolean for jobs in the job engine, as it serves no purpose anymore. While we are at it, fix some error messages we print when invoking functions that take the override parameter.
This commit is contained in:
+14
-11
@@ -1603,6 +1603,8 @@ bool unit_can_reload(Unit *u) {
|
||||
|
||||
static void unit_check_unneeded(Unit *u) {
|
||||
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
|
||||
static const UnitDependency needed_dependencies[] = {
|
||||
UNIT_REQUIRED_BY,
|
||||
UNIT_REQUISITE_OF,
|
||||
@@ -1642,12 +1644,13 @@ static void unit_check_unneeded(Unit *u) {
|
||||
log_unit_info(u, "Unit not needed anymore. Stopping.");
|
||||
|
||||
/* Ok, nobody needs us anymore. Sniff. Then let's commit suicide */
|
||||
r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL);
|
||||
r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, &error, NULL);
|
||||
if (r < 0)
|
||||
log_unit_warning_errno(u, r, "Failed to enqueue stop job, ignoring: %m");
|
||||
log_unit_warning_errno(u, r, "Failed to enqueue stop job, ignoring: %s", bus_error_message(&error, r));
|
||||
}
|
||||
|
||||
static void unit_check_binds_to(Unit *u) {
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
bool stop = false;
|
||||
Unit *other;
|
||||
Iterator i;
|
||||
@@ -1687,9 +1690,9 @@ static void unit_check_binds_to(Unit *u) {
|
||||
log_unit_info(u, "Unit is bound to inactive unit %s. Stopping, too.", other->id);
|
||||
|
||||
/* A unit we need to run is gone. Sniff. Let's stop this. */
|
||||
r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL);
|
||||
r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, &error, NULL);
|
||||
if (r < 0)
|
||||
log_unit_warning_errno(u, r, "Failed to enqueue stop job, ignoring: %m");
|
||||
log_unit_warning_errno(u, r, "Failed to enqueue stop job, ignoring: %s", bus_error_message(&error, r));
|
||||
}
|
||||
|
||||
static void retroactively_start_dependencies(Unit *u) {
|
||||
@@ -1702,25 +1705,25 @@ static void retroactively_start_dependencies(Unit *u) {
|
||||
SET_FOREACH(other, u->dependencies[UNIT_REQUIRES], i)
|
||||
if (!set_get(u->dependencies[UNIT_AFTER], other) &&
|
||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, true, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, NULL, NULL);
|
||||
|
||||
SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], i)
|
||||
if (!set_get(u->dependencies[UNIT_AFTER], other) &&
|
||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, true, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, NULL, NULL);
|
||||
|
||||
SET_FOREACH(other, u->dependencies[UNIT_WANTS], i)
|
||||
if (!set_get(u->dependencies[UNIT_AFTER], other) &&
|
||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_FAIL, false, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_START, other, JOB_FAIL, NULL, NULL);
|
||||
|
||||
SET_FOREACH(other, u->dependencies[UNIT_CONFLICTS], i)
|
||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, true, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, NULL, NULL);
|
||||
|
||||
SET_FOREACH(other, u->dependencies[UNIT_CONFLICTED_BY], i)
|
||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, true, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, NULL, NULL);
|
||||
}
|
||||
|
||||
static void retroactively_stop_dependencies(Unit *u) {
|
||||
@@ -1733,7 +1736,7 @@ static void retroactively_stop_dependencies(Unit *u) {
|
||||
/* Pull down units which are bound to us recursively if enabled */
|
||||
SET_FOREACH(other, u->dependencies[UNIT_BOUND_BY], i)
|
||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, true, NULL, NULL);
|
||||
manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, NULL, NULL);
|
||||
}
|
||||
|
||||
static void check_unneeded_dependencies(Unit *u) {
|
||||
@@ -1772,7 +1775,7 @@ void unit_start_on_failure(Unit *u) {
|
||||
SET_FOREACH(other, u->dependencies[UNIT_ON_FAILURE], i) {
|
||||
int r;
|
||||
|
||||
r = manager_add_job(u->manager, JOB_START, other, u->on_failure_job_mode, true, NULL, NULL);
|
||||
r = manager_add_job(u->manager, JOB_START, other, u->on_failure_job_mode, NULL, NULL);
|
||||
if (r < 0)
|
||||
log_unit_error_errno(u, r, "Failed to enqueue OnFailure= job: %m");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user