diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-10 15:31:36 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-10 18:04:38 +0100 |
commit | 77ba38a61492799cc3c615f0f622f34fc10de826 (patch) | |
tree | 76b65c7c619564e3a458fce64c9f0a9afba89340 /trans | |
parent | 0bdd1a9d8d3eef8cae027be133ee11fc9a3b5165 (diff) |
utils/settrans: fix the teardown of chrooted environments
Previously, settrans --chroot would just exec the target. Create a
new process for that purpose. Wait for its completion, then ask the
translator (nicely by default) to go away. If it refuses with EBUSY,
it might be because some process has daemonized inside the chrooted
environment.
This fixes the following bug when settrans is used with fakeroot:
% fakeroot-hurd /bin/true 2>&1 | tee
<hangs>
Here, fakeroot-hurd execs settrans with --chroot, settrans execs
/hurd/fakeauth which will eventually exec the target /bin/true. When
true terminates, it will close its stdout and stderr. But
/hurd/fakeroot's stderr is also connected to tee's stdin, preventing
tee from exiting.
* utils/settrans.c (main): Fix the teardown of chrooted environments.
Diffstat (limited to 'trans')
0 files changed, 0 insertions, 0 deletions