diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-06-09 20:41:58 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-06-10 15:25:12 +0200 |
commit | 36feef0dc51c444de1449ba26a0bf2248716591d (patch) | |
tree | 377533265faf277608f9045b7545232b139649f0 /apt-pkg | |
parent | 4331049f00c7a96edd7ce644a9a7036dd2722484 (diff) |
do not hang on piped input in PipedFileFdPrivate
This effects only compressors configured on the fly (rather then the
inbuilt ones as they use a library).
(cherry picked from commit bdc42211700ef0f6f40e4ef3f362e52d684d70fb)
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/contrib/fileutl.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index cde005eb5..d880a725d 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -1974,6 +1974,11 @@ public: virtual bool InternalClose(std::string const &) APT_OVERRIDE { bool Ret = true; + if (filefd->iFd != -1) + { + close(filefd->iFd); + filefd->iFd = -1; + } if (compressor_pid > 0) Ret &= ExecWait(compressor_pid, "FileFdCompressor", true); compressor_pid = -1; |