diff --git a/swiftclient/client.py b/swiftclient/client.py index 4be2e2d6..448bb468 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)