From 6a1bdfb2a8bc5677e94cee14e12d8e53c6b3ed6d Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
Date: Tue, 25 May 2010 22:50:41 +0200
Subject: bugfix: endless loop for closed connection in scgi.forkpool

---
 wsgitools/scgi/forkpool.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

(limited to 'wsgitools/scgi')

diff --git a/wsgitools/scgi/forkpool.py b/wsgitools/scgi/forkpool.py
index 12a82ff..252c455 100644
--- a/wsgitools/scgi/forkpool.py
+++ b/wsgitools/scgi/forkpool.py
@@ -44,10 +44,8 @@ class SocketFileWrapper:
         """
         try:
             while self.toread > 0:
-                if self.toread > 4096:
-                    self._recv(4096)
-                else:
-                    self._recv(self.toread)
+                if not self._recv(min(self.toread, 4096)):
+                    return
         except socket.error:
             pass
 
-- 
cgit v1.2.3