if ((r = unit_name_to_instance(s, &i)) < 0)
goto fail;
- if (i && unit_vtable[t]->no_instances)
+ if (i && unit_vtable[t]->no_instances) {
+ r = -EINVAL;
goto fail;
+ }
/* Ensure that this unit is either instanced or not instanced,
* but not both. */
u->meta.manager->n_in_gc_queue--;
}
- cgroup_bonding_free_list(u->meta.cgroup_bondings);
+ cgroup_bonding_free_list(u->meta.cgroup_bondings, u->meta.manager->n_serializing <= 0);
free(u->meta.description);
free(u->meta.fragment_path);
"%s\tRefuseManualStart: %s\n"
"%s\tRefuseManualStop: %s\n"
"%s\tDefaultDependencies: %s\n"
- "%s\rOnFailureIsolate: %s\n",
+ "%s\tOnFailureIsolate: %s\n"
+ "%s\tIgnoreOnIsolate: %s\n",
prefix, yes_no(u->meta.stop_when_unneeded),
prefix, yes_no(u->meta.refuse_manual_start),
prefix, yes_no(u->meta.refuse_manual_stop),
prefix, yes_no(u->meta.default_dependencies),
- prefix, yes_no(u->meta.on_failure_isolate));
+ prefix, yes_no(u->meta.on_failure_isolate),
+ prefix, yes_no(u->meta.ignore_on_isolate));
LIST_FOREACH(by_unit, b, u->meta.cgroup_bondings)
fprintf(f, "%s\tControlGroup: %s:%s\n",
/* Adds in the default cgroups, if they weren't specified
* otherwise. */
+ if (!u->meta.manager->cgroup_hierarchy)
+ return 0;
+
if ((r = unit_add_one_default_cgroup(u, NULL)) < 0)
return r;
return 0;
for (;;) {
- char line[1024], *l, *v;
+ char line[LINE_MAX], *l, *v;
size_t k;
if (!fgets(line, sizeof(line), f)) {