diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-18 17:25:02 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-19 12:35:18 +0100 |
commit | 2d27ccbc105e84c27547a003aec624a3cc3bbd66 (patch) | |
tree | 1bf930bc9c2f2a9269e453ff143f58de67608c45 /libports/resume-all-rpcs.c | |
parent | b372e439e05e336d5e52aa0ce69c799c15691932 (diff) |
trans/fakeroot: shutdown the translator if the last client is gone
Previously, fakeroot would not exit if a process outlived the original
process started by settrans. This caused bugs like this:
% fakeroot-hurd /bin/sh -c 'sleep 1&' 2>&1 | tee
<hangs>
Fix this by exiting if the last client of fakeroot goes away.
If noone has a right to any control or protid port, noone can ever
reacquire any such right. So it is safe to shutdown the fakeroot
translator in that case.
* trans/fakeroot.c (fakeroot_netfs_release_protid): Shutdown the
translator if the last protid object is destroyed and no control port
is around either.
Diffstat (limited to 'libports/resume-all-rpcs.c')
0 files changed, 0 insertions, 0 deletions