unit: count deserialized job only after it's definitely installed

Installation of a deserialized job may fail (though purely in theory),
so increase the running job counter only when succeeding.
This commit is contained in:
Michal Schmidt 2013-03-02 12:29:04 +01:00
parent cf84347794
commit 6b19ad24d3

View file

@ -2441,15 +2441,15 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
return r;
}
if (j->state == JOB_RUNNING)
u->manager->n_running_jobs++;
r = job_install_deserialized(j);
if (r < 0) {
hashmap_remove(u->manager->jobs, UINT32_TO_PTR(j->id));
job_free(j);
return r;
}
if (j->state == JOB_RUNNING)
u->manager->n_running_jobs++;
} else {
/* legacy */
JobType type = job_type_from_string(v);