X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/db890fdba13d88ef85a2ac0ce39749ebfa835516..b381f6ed580f9c58c1547fddd92af1b52fc5a1f0:/apt-pkg/acquire.cc diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index e73619530..6457fa659 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.22 1998/12/11 06:32:35 jgg Exp $ +// $Id: acquire.cc,v 1.26 1999/01/30 08:08:54 jgg Exp $ /* ###################################################################### Acquire - File Acquiration @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include @@ -413,6 +413,22 @@ unsigned long pkgAcquire::FetchNeeded() return Total; } /*}}}*/ +// pkgAcquire::UriBegin - Start iterator for the uri list /*{{{*/ +// --------------------------------------------------------------------- +/* */ +pkgAcquire::UriIterator pkgAcquire::UriBegin() +{ + return UriIterator(Queues); +} + /*}}}*/ +// pkgAcquire::UriEnd - End iterator for the uri list /*{{{*/ +// --------------------------------------------------------------------- +/* */ +pkgAcquire::UriIterator pkgAcquire::UriEnd() +{ + return UriIterator(0); +} + /*}}}*/ // Acquire::MethodConfig::MethodConfig - Constructor /*{{{*/ // --------------------------------------------------------------------- @@ -547,7 +563,7 @@ bool pkgAcquire::Queue::Shutdown() return true; } /*}}}*/ -// Queue::Finditem - Find a URI in the item list /*{{{*/ +// Queue::FindItem - Find a URI in the item list /*{{{*/ // --------------------------------------------------------------------- /* */ pkgAcquire::Queue::QItem *pkgAcquire::Queue::FindItem(string URI,pkgAcquire::Worker *Owner) @@ -589,9 +605,12 @@ bool pkgAcquire::Queue::Cycle() if (Items == 0 || Workers == 0) return true; + if (PipeDepth < 0) + return _error->Error("Pipedepth failure"); + // Look for a queable item QItem *I = Items; - while (PipeDepth < MaxPipeDepth) + while (PipeDepth < (signed)MaxPipeDepth) { for (; I != 0; I = I->Next) if (I->Owner->Status == pkgAcquire::Item::StatIdle) @@ -603,6 +622,7 @@ bool pkgAcquire::Queue::Cycle() I->Worker = Workers; I->Owner->Status = pkgAcquire::Item::StatFetching; + PipeDepth++; if (Workers->QueueItem(I) == false) return false; }