diff options
Diffstat (limited to 'buildstream/sandbox/_sandboxbwrap.py')
-rw-r--r-- | buildstream/sandbox/_sandboxbwrap.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/buildstream/sandbox/_sandboxbwrap.py b/buildstream/sandbox/_sandboxbwrap.py index cab178f0f..02f6ab30a 100644 --- a/buildstream/sandbox/_sandboxbwrap.py +++ b/buildstream/sandbox/_sandboxbwrap.py @@ -51,6 +51,7 @@ class SandboxBwrap(Sandbox): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.user_ns_available = kwargs['user_ns_available'] + self.die_with_parent_available = kwargs['die_with_parent_available'] def run(self, command, flags, *, cwd=None, env=None): stdout, stderr = self._get_output() @@ -84,6 +85,10 @@ class SandboxBwrap(Sandbox): # are cleaned up when the bwrap process exits. bwrap_command += ['--unshare-pid'] + # Ensure subprocesses are cleaned up when the bwrap parent dies. + if self.die_with_parent_available: + bwrap_command += ['--die-with-parent'] + # Add in the root filesystem stuff first. # # The rootfs is mounted as RW initially so that further mounts can be |