&cgroup) < 0 || !cgroup)
goto cleanup;
- if (virCgroupAddTask(cgroup, initpid) < 0) {
- virErrorPtr saved = virSaveLastError();
- virCgroupRemove(cgroup);
- virCgroupFree(&cgroup);
- if (saved) {
- virSetError(saved);
- virFreeError(saved);
- }
- goto cleanup;
- }
-
/* setup control group permissions for user namespace */
if (def->idmap.uidmap) {
if (virCgroupSetOwner(cgroup,
goto cleanup;
}
- if (virCgroupAddTask(priv->cgroup, vm->pid) < 0) {
- virErrorPtr saved = virSaveLastError();
- virCgroupRemove(priv->cgroup);
- virCgroupFree(&priv->cgroup);
- if (saved) {
- virSetError(saved);
- virFreeError(saved);
- }
- goto cleanup;
- }
-
done:
ret = 0;
cleanup:
}
}
+ if (virCgroupAddTask(*group, pidleader) < 0) {
+ virErrorPtr saved = virSaveLastError();
+ virCgroupRemove(*group);
+ virCgroupFree(group);
+ if (saved) {
+ virSetError(saved);
+ virFreeError(saved);
+ }
+ }
+
ret = 0;
cleanup:
virCgroupFree(&parent);
static int
virCgroupNewMachineManual(const char *name,
const char *drivername,
+ pid_t pidleader,
const char *partition,
int controllers,
virCgroupPtr *group)
group) < 0)
goto cleanup;
+ if (virCgroupAddTask(*group, pidleader) < 0) {
+ virErrorPtr saved = virSaveLastError();
+ virCgroupRemove(*group);
+ virCgroupFree(group);
+ if (saved) {
+ virSetError(saved);
+ virFreeError(saved);
+ }
+ }
+
done:
ret = 0;
return virCgroupNewMachineManual(name,
drivername,
+ pidleader,
partition,
controllers,
group);