* Fix pipeline handling on http.cc (closes: #413324)
[ntk/apt.git] / methods / http.cc
index 506e66f..068d269 100644 (file)
@@ -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;
         }