submitted as:
https://github.com/cherrypy/cherrypy/pull/1897

--- a/cherrypy/lib/__init__.py
+++ b/cherrypy/lib/__init__.py
@@ -70,6 +70,11 @@
             raise StopIteration()
     next = __next__
 
+    def __del__(self):
+         """Close input on descturct."""
+         if hasattr(self.input, 'close'):
+             self.input.close()
+
 
 def file_generator_limited(fileobj, count, chunk_size=65536):
     """Yield the given file object in chunks.
