X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b4fc9b6f648694ecb0d161cb14859da88b36881c..899d08fea9e10d617afaa42f51f4abda76fc508f:/apt-pkg/acquire.cc?ds=sidebyside diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index ae3ba2e01..70dce4f54 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.48 2001/05/22 04:17:18 jgg Exp $ +// $Id: acquire.cc,v 1.50 2004/03/17 05:17:11 mdz Exp $ /* ###################################################################### Acquire - File Acquiration @@ -87,7 +87,11 @@ pkgAcquire::~pkgAcquire() void pkgAcquire::Shutdown() { while (Items.size() != 0) + { + if (Items[0]->Status == Item::StatFetching) + Items[0]->Status = Item::StatError; delete Items[0]; + } while (Queues != 0) { @@ -113,13 +117,15 @@ void pkgAcquire::Remove(Item *Itm) { Dequeue(Itm); - for (ItemIterator I = Items.begin(); I != Items.end(); I++) + for (ItemIterator I = Items.begin(); I != Items.end();) { if (*I == Itm) { Items.erase(I); I = Items.begin(); } + else + I++; } } /*}}}*/ @@ -306,7 +312,7 @@ void pkgAcquire::RunFds(fd_set *RSet,fd_set *WSet) /* This runs the queues. It manages a select loop for all of the Worker tasks. The workers interact with the queues and items to manage the actual fetch. */ -pkgAcquire::RunResult pkgAcquire::Run() +pkgAcquire::RunResult pkgAcquire::Run(int PulseIntervall) { Running = true; @@ -321,7 +327,7 @@ pkgAcquire::RunResult pkgAcquire::Run() // Run till all things have been acquired struct timeval tv; tv.tv_sec = 0; - tv.tv_usec = 500000; + tv.tv_usec = PulseIntervall; while (ToFetch > 0) { fd_set RFds; @@ -351,7 +357,7 @@ pkgAcquire::RunResult pkgAcquire::Run() // Timeout, notify the log class if (Res == 0 || (Log != 0 && Log->Update == true)) { - tv.tv_usec = 500000; + tv.tv_usec = PulseIntervall; for (Worker *I = Workers; I != 0; I = I->NextAcquire) I->Pulse(); if (Log != 0 && Log->Pulse(this) == false) @@ -475,7 +481,7 @@ double pkgAcquire::PartialPresent() Total += (*I)->PartialSize; return Total; } - /*}}}*/ + // Acquire::UriBegin - Start iterator for the uri list /*{{{*/ // --------------------------------------------------------------------- /* */