|
|
@ -1,6 +1,6 @@ |
|
|
|
// -*- mode: cpp; mode: fold -*-
|
|
|
|
// Description /*{{{*/
|
|
|
|
// $Id: acquire.cc,v 1.35 1999/06/06 06:58:36 jgg Exp $
|
|
|
|
// $Id: acquire.cc,v 1.36 1999/06/13 05:06:40 jgg Exp $
|
|
|
|
/* ######################################################################
|
|
|
|
|
|
|
|
Acquire - File Acquiration |
|
|
@ -275,7 +275,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. */ |
|
|
|
bool pkgAcquire::Run() |
|
|
|
pkgAcquire::RunResult pkgAcquire::Run() |
|
|
|
{ |
|
|
|
Running = true; |
|
|
|
|
|
|
@ -285,6 +285,8 @@ bool pkgAcquire::Run() |
|
|
|
if (Log != 0) |
|
|
|
Log->Start(); |
|
|
|
|
|
|
|
bool WasCancelled = false; |
|
|
|
|
|
|
|
// Run till all things have been acquired
|
|
|
|
struct timeval tv; |
|
|
|
tv.tv_sec = 0; |
|
|
@ -321,8 +323,11 @@ bool pkgAcquire::Run() |
|
|
|
tv.tv_usec = 500000; |
|
|
|
for (Worker *I = Workers; I != 0; I = I->NextAcquire) |
|
|
|
I->Pulse(); |
|
|
|
if (Log != 0) |
|
|
|
Log->Pulse(this); |
|
|
|
if (Log != 0 && Log->Pulse(this) == false) |
|
|
|
{ |
|
|
|
WasCancelled = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -338,7 +343,11 @@ bool pkgAcquire::Run() |
|
|
|
for (Item **I = Items.begin(); I != Items.end(); I++) |
|
|
|
(*I)->Finished(); |
|
|
|
|
|
|
|
return !_error->PendingError(); |
|
|
|
if (_error->PendingError()) |
|
|
|
return Failed; |
|
|
|
if (WasCancelled) |
|
|
|
return Cancelled; |
|
|
|
return Continue; |
|
|
|
} |
|
|
|
/*}}}*/ |
|
|
|
// Acquire::Bump - Called when an item is dequeued /*{{{*/
|
|
|
@ -675,7 +684,7 @@ pkgAcquireStatus::pkgAcquireStatus() |
|
|
|
/* This computes some internal state variables for the derived classes to
|
|
|
|
use. It generates the current downloaded bytes and total bytes to download |
|
|
|
as well as the current CPS estimate. */ |
|
|
|
void pkgAcquireStatus::Pulse(pkgAcquire *Owner) |
|
|
|
bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) |
|
|
|
{ |
|
|
|
TotalBytes = 0; |
|
|
|
CurrentBytes = 0; |
|
|
@ -742,6 +751,8 @@ void pkgAcquireStatus::Pulse(pkgAcquire *Owner) |
|
|
|
ElapsedTime = (unsigned long)Delta; |
|
|
|
Time = NewTime; |
|
|
|
} |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
/*}}}*/ |
|
|
|
// AcquireStatus::Start - Called when the download is started /*{{{*/
|
|
|
|