summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--swiftclient/client.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/swiftclient/client.py b/swiftclient/client.py
index 4be2e2d..448bb46 100644
--- a/swiftclient/client.py
+++ b/swiftclient/client.py
@@ -438,6 +438,15 @@ class HTTPConnection(object):
if timeout:
self.requests_args['timeout'] = timeout
+ def __del__(self):
+ """Cleanup resources other than memory"""
+ if self.request_session:
+ # The session we create must be closed to free up file descriptors
+ try:
+ self.request_session.close()
+ finally:
+ self.request_session = None
+
def _request(self, *arg, **kwarg):
"""Final wrapper before requests call, to be patched in tests"""
return self.request_session.request(*arg, **kwarg)