From 3503b1493c09bbcca6d8dff203126703a7fc5822 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 10 Mar 2013 01:22:37 +0100 Subject: [PATCH] cgroup: Move builder process out of cgroup before destroying it. Before all processes in the cgroup are killed, the builder process is migrated to the parent group, because kill_and_wait() waits for nothing because it will never kill its own process. --- python/pakfire/builder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/pakfire/builder.py b/python/pakfire/builder.py index 7427a8cc7..944c1a03d 100644 --- a/python/pakfire/builder.py +++ b/python/pakfire/builder.py @@ -200,11 +200,13 @@ class BuildEnviron(object): def stop(self): if self.cgroup: + # Move the builder process out of the cgroup. + self.cgroup.migrate_task(self.cgroup.parent, os.getpid()) + # Kill all still running processes in the cgroup. self.cgroup.kill_and_wait() # Remove cgroup and all parent cgroups if they are empty. - self.cgroup.migrate_task(self.cgroup.root, os.getpid()) self.cgroup.destroy() parent = self.cgroup.parent -- 2.39.5