diff options
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/acquire-item.cc | 14 | ||||
-rw-r--r-- | apt-pkg/acquire-item.h | 3 | ||||
-rw-r--r-- | apt-pkg/acquire.cc | 5 |
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 |