summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-12-09 23:39:57 +0000
committerGerrit Code Review <review@openstack.org>2019-12-09 23:39:57 +0000
commit90e71f5506d4bf103df819eef35d2784875adb5f (patch)
treecc78056e00df32770d05236caab85c59617a223d
parent709ab385c6eb3d3c7b313bc48c959e9ace606ae5 (diff)
parent1f26c5736949e1c3b57c024a315e33fc419f126e (diff)
downloadpython-swiftclient-90e71f5506d4bf103df819eef35d2784875adb5f.tar.gz
Merge "Cleanup session on delete"
-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)