When we reach the end of the log file, close the logreader object.
diff --git a/Lib/hotshot/log.py b/Lib/hotshot/log.py
index cd85353..39c4534 100644
--- a/Lib/hotshot/log.py
+++ b/Lib/hotshot/log.py
@@ -34,7 +34,8 @@
         self._funcmap = {}
 
         self._info = {}
-        self._nextitem = _hotshot.logreader(logfn).next
+        self._reader = _hotshot.logreader(logfn)
+        self._nextitem = self._reader.next
         self._stack = []
 
     # Iteration support:
@@ -47,6 +48,7 @@
             what, tdelta, fileno, lineno = self._nextitem()
         except TypeError:
             # logreader().next() returns None at the end
+            self._reader.close()
             raise StopIteration()
         if what == WHAT_DEFINE_FILE:
             self._filemap[fileno] = tdelta