Fixed memory leak (see http://bugs.python.org/issue1208304)
authorJérémy Bethmont <jeremy.bethmont@gmail.com>
Tue, 9 Aug 2011 13:34:44 +0000 (15:34 +0200)
committerJérémy Bethmont <jeremy.bethmont@gmail.com>
Tue, 9 Aug 2011 13:34:44 +0000 (15:34 +0200)
requests/models.py

index 511002905370ac3619c32ebb54d00d8429f93278..6d97e35ec535bd9d09c7e2bbd1bab5d77e10518e 100644 (file)
@@ -169,7 +169,8 @@ class Request(object):
             try:
                 response.headers = CaseInsensitiveDict(getattr(resp.info(), 'dict', None))
                 response.read = resp.read
-                response.close = resp.close
+                response._resp = resp
+                response._close = resp.close
             except AttributeError:
                 pass
 
@@ -397,6 +398,11 @@ class Response(object):
             raise self.error
 
 
+    def close(self):
+        if self._resp.fp is not None and hasattr(self._resp.fp, '_sock'):
+            self._resp.fp._sock.recv = None
+        self._close()
+
 class AuthManager(object):
     """Requests Authentication Manager."""