summaryrefslogtreecommitdiff
path: root/methods/http.cc
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:55:19 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:55:19 +0000
commitf93d1355dd915fd5c197293ba0e62292ec15cb2d (patch)
tree78be0c02ba0ec102282e26e1b611b6f0f9ab25e5 /methods/http.cc
parent0b5c85b5c9edc8cbd9a3962d412810354398b095 (diff)
Reorderd error handling
Author: jgg Date: 1999-12-09 03:45:56 GMT Reorderd error handling
Diffstat (limited to 'methods/http.cc')
-rw-r--r--methods/http.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/methods/http.cc b/methods/http.cc
index 456e7146a..ee0d75ef8 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: http.cc,v 1.40 1999/11/29 23:20:27 jgg Exp $
+// $Id: http.cc,v 1.41 1999/12/09 03:45:56 jgg Exp $
/* ######################################################################
HTTP Aquire Method - This is the HTTP aquire method for APT.
@@ -934,8 +934,13 @@ bool HttpMethod::Fetch(FetchItem *)
// Queue the requests
int Depth = -1;
bool Tail = false;
- for (FetchItem *I = Queue; I != 0 && Depth < (signed)PipelineDepth; I = I->Next, Depth++)
+ for (FetchItem *I = Queue; I != 0 && Depth < (signed)PipelineDepth;
+ I = I->Next, Depth++)
{
+ // If pipelining is disabled, we only queue 1 request
+ if (Server->Pipeline == false && Depth >= 0)
+ break;
+
// Make sure we stick with the same server
if (Server->Comp(I->Uri) == false)
break;
@@ -946,7 +951,7 @@ bool HttpMethod::Fetch(FetchItem *)
QueueBack = I->Next;
SendReq(I,Server->Out);
continue;
- }
+ }
}
return true;
@@ -1041,7 +1046,8 @@ int HttpMethod::Loop()
FailCounter++;
_error->Discard();
Server->Close();
-
+ Server->Pipeline = false;
+
if (FailCounter >= 2)
{
Fail("Connection failed",true);