summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/fileutl.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-06-09 20:41:58 +0200
committerJulian Andres Klode <jak@debian.org>2016-06-10 15:25:12 +0200
commit36feef0dc51c444de1449ba26a0bf2248716591d (patch)
tree377533265faf277608f9045b7545232b139649f0 /apt-pkg/contrib/fileutl.cc
parent4331049f00c7a96edd7ce644a9a7036dd2722484 (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/contrib/fileutl.cc')
-rw-r--r--apt-pkg/contrib/fileutl.cc5
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;