summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYOSHINO Yoshihito <yy.y.ja.jp@gmail.com>2012-05-07 21:16:25 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-05-07 21:16:25 +0200
commitee7af1bd58a717601fc30b5e7702d688749d2419 (patch)
treeac70bb4893dbfccfb2befb7d9579f67a18684838
parenta00a9b44a1e0abf944d88c36ceaac8afdd207dcb (diff)
* apt-pkg/acquire-worker.cc:
- revert the use of FileFd::Write in OutFdReady as we don't want error reports about EAGAIN here as we retry later. Thanks to YOSHINO Yoshihito for the report. (Closes: #671721)
-rw-r--r--apt-pkg/acquire-worker.cc13
-rw-r--r--debian/changelog6
2 files changed, 15 insertions, 4 deletions
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc
index 8bc043c58..d6db8bc02 100644
--- a/apt-pkg/acquire-worker.cc
+++ b/apt-pkg/acquire-worker.cc
@@ -511,10 +511,17 @@ bool pkgAcquire::Worker::QueueItem(pkgAcquire::Queue::QItem *Item)
/* */
bool pkgAcquire::Worker::OutFdReady()
{
- if (FileFd::Write(OutFd,OutQueue.c_str(),OutQueue.length()) == false)
+ int Res;
+ do
+ {
+ Res = write(OutFd,OutQueue.c_str(),OutQueue.length());
+ }
+ while (Res < 0 && errno == EINTR);
+
+ if (Res <= 0)
return MethodFailure();
-
- OutQueue.clear();
+
+ OutQueue.erase(0,Res);
if (OutQueue.empty() == true)
OutReady = false;
diff --git a/debian/changelog b/debian/changelog
index 8eec902d0..ad3f5c894 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -34,8 +34,12 @@ apt (0.9.3) unstable; urgency=low
* apt-pkg/deb/deblistparser.cc:
- check length and containing chars for a given description md5sum
* ensure that apti18n.h is included last as advertised (Closes: #671623)
+ * apt-pkg/acquire-worker.cc:
+ - revert the use of FileFd::Write in OutFdReady as we don't want error
+ reports about EAGAIN here as we retry later. Thanks to YOSHINO Yoshihito
+ for the report. (Closes: #671721)
- -- David Kalnischkies <kalnischkies@gmail.com> Sat, 05 May 2012 15:35:16 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com> Mon, 07 May 2012 21:12:23 +0200
apt (0.9.2) unstable; urgency=low