summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/acquire-item.cc14
-rw-r--r--apt-pkg/acquire-item.h3
-rw-r--r--apt-pkg/acquire.cc5
3 files changed, 18 insertions, 4 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 4edaa964f..59301784e 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-item.cc,v 1.16 1998/12/11 06:01:23 jgg Exp $
+// $Id: acquire-item.cc,v 1.17 1998/12/11 06:32:33 jgg Exp $
/* ######################################################################
Acquire Item - Item to acquire
@@ -54,6 +54,7 @@ pkgAcquire::Item::~Item()
void pkgAcquire::Item::Failed(string Message)
{
Status = StatIdle;
+ ErrorText = LookupTag(Message,"Message");
if (QueueCounter <= 1)
{
/* This indicates that the file is not available right now but might
@@ -66,7 +67,6 @@ void pkgAcquire::Item::Failed(string Message)
return;
}
- ErrorText = LookupTag(Message,"Message");
Status = StatError;
Owner->Dequeue(this);
}
@@ -474,3 +474,13 @@ string pkgAcqArchive::Describe()
return Desc.URI;
}
/*}}}*/
+// AcqArchive::Failed - Failure handler /*{{{*/
+// ---------------------------------------------------------------------
+/* Here we try other sources */
+void pkgAcqArchive::Failed(string Message)
+{
+ ErrorText = LookupTag(Message,"Message");
+ if (QueueNext() == false)
+ Item::Failed(Message);
+}
+ /*}}}*/
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index 4a2a4e385..0b80ca1de 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-item.h,v 1.11 1998/12/11 06:01:25 jgg Exp $
+// $Id: acquire-item.h,v 1.12 1998/12/11 06:32:34 jgg Exp $
/* ######################################################################
Acquire Item - Item to acquire
@@ -120,6 +120,7 @@ class pkgAcqArchive : public pkgAcquire::Item
public:
+ virtual void Failed(string Message);
virtual void Done(string Message,unsigned long Size,string Md5Hash);
virtual string Describe();
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 385e773ff..e73619530 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire.cc,v 1.21 1998/12/11 06:01:26 jgg Exp $
+// $Id: acquire.cc,v 1.22 1998/12/11 06:32:35 jgg Exp $
/* ######################################################################
Acquire - File Acquiration
@@ -566,6 +566,9 @@ pkgAcquire::Queue::QItem *pkgAcquire::Queue::FindItem(string URI,pkgAcquire::Wor
bool pkgAcquire::Queue::ItemDone(QItem *Itm)
{
PipeDepth--;
+ if (Itm->Owner->Status == pkgAcquire::Item::StatFetching)
+ Itm->Owner->Status = pkgAcquire::Item::StatDone;
+
if (Itm->Owner->QueueCounter <= 1)
Owner->Dequeue(Itm->Owner);
else