From: Arch Librarian Date: Mon, 20 Sep 2004 16:52:11 +0000 (+0000) Subject: Fail over X-Git-Tag: 0.7.24ubuntu1~1545 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/db890fdba13d88ef85a2ac0ce39749ebfa835516 Fail over Author: jgg Date: 1998-12-11 06:32:33 GMT Fail over --- 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