summaryrefslogtreecommitdiff
path: root/methods
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2007-07-10 16:49:12 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2007-07-10 16:49:12 -0300
commit9a52beaad9a26454fe627dab3f87ebf08c799677 (patch)
tree081d861ec074d4e41f847272fc336c909b4a51e3 /methods
parent946392c230d5fbf31b7456576c0ee423e25bb58f (diff)
* Fix pipeline handling on http.cc (closes: #413324)
Diffstat (limited to 'methods')
-rw-r--r--methods/http.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/methods/http.cc b/methods/http.cc
index 506e66fae..068d26978 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -1164,8 +1164,25 @@ int HttpMethod::Loop()
URIDone(Res);
}
else
- Fail(true);
+ {
+ if (Server->ServerFd == -1)
+ {
+ FailCounter++;
+ _error->Discard();
+ Server->Close();
+ if (FailCounter >= 2)
+ {
+ Fail(_("Connection failed"),true);
+ FailCounter = 0;
+ }
+
+ QueueBack = Queue;
+ }
+ else
+ Fail(true);
+ }
+
break;
}