diff --git a/swift/common/request_helpers.py b/swift/common/request_helpers.py index 87a0535..0e0df42 100644 --- a/swift/common/request_helpers.py +++ b/swift/common/request_helpers.py @@ -438,6 +438,9 @@ class SegmentedIterable(object): self.logger.exception(_('ERROR: An error occurred ' 'while retrieving segments')) raise + except GeneratorExit: + if self.current_resp: + close_if_possible(self.current_resp.app_iter) def app_iter_range(self, *a, **kw): """ @@ -480,5 +483,4 @@ class SegmentedIterable(object): Called when the client disconnect. Ensure that the connection to the backend server is closed. """ - if self.current_resp: - close_if_possible(self.current_resp.app_iter) + close_if_possible(self.app_iter)