diff options
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/acquire.cc | 8 | ||||
-rw-r--r-- | apt-pkg/acquire.h | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index e73619530..ab60d1b47 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.23 1998/12/11 07:20:32 jgg Exp $ /* ###################################################################### Acquire - File Acquiration @@ -589,9 +589,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 +606,7 @@ bool pkgAcquire::Queue::Cycle() I->Worker = Workers; I->Owner->Status = pkgAcquire::Item::StatFetching; + PipeDepth++; if (Workers->QueueItem(I) == false) return false; } diff --git a/apt-pkg/acquire.h b/apt-pkg/acquire.h index d6339e74d..2f5da7b31 100644 --- a/apt-pkg/acquire.h +++ b/apt-pkg/acquire.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire.h,v 1.17 1998/12/11 06:01:27 jgg Exp $ +// $Id: acquire.h,v 1.18 1998/12/11 07:20:33 jgg Exp $ /* ###################################################################### Acquire - File Acquiration @@ -149,7 +149,7 @@ class pkgAcquire::Queue QItem *Items; pkgAcquire::Worker *Workers; pkgAcquire *Owner; - unsigned long PipeDepth; + signed long PipeDepth; unsigned long MaxPipeDepth; public: |