summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt/progress/__init__.py5
-rw-r--r--debian/changelog8
2 files changed, 12 insertions, 1 deletions
diff --git a/apt/progress/__init__.py b/apt/progress/__init__.py
index ca60810f..c042ece7 100644
--- a/apt/progress/__init__.py
+++ b/apt/progress/__init__.py
@@ -246,7 +246,10 @@ class InstallProgress(DumbInstallProgress):
return
try:
while not self.read.endswith("\n"):
- self.read += os.read(self.statusfd.fileno(), 1)
+ r = os.read(self.statusfd.fileno(), 1)
+ if not r:
+ return
+ self.read += r
except OSError, (errno_, errstr):
# resource temporarly unavailable is ignored
if errno_ != errno.EAGAIN and errno_ != errno.EWOULDBLOCK:
diff --git a/debian/changelog b/debian/changelog
index dbb91706..626cb9f8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+python-apt (0.7.13.2ubuntu6) UNRELEASED; urgency=low
+
+ * apt/progress/__init__.py:
+ - Fix InstallProgress.updateInterface() to cope with read() returning 0
+ on non-blocking file descriptors (LP: #491027).
+
+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 02 Dec 2009 13:56:58 +0000
+
python-apt (0.7.13.2ubuntu5) lucid; urgency=low
* python/progress.cc: