Gave hotshot.LogReader a close() method, to allow users to close the
file object that LogReader opens.  Used it then in test_hotshot; the
test passes again on Windows.  Thank Guido for the analysis.
diff --git a/Lib/hotshot/log.py b/Lib/hotshot/log.py
index 335fff9..9084461 100644
--- a/Lib/hotshot/log.py
+++ b/Lib/hotshot/log.py
@@ -51,6 +51,9 @@
         self._append = self._stack.append
         self._pop = self._stack.pop
 
+    def close(self):
+        self._reader.close()
+
     def addinfo(self, key, value):
         """This method is called for each additional ADD_INFO record.
 
diff --git a/Lib/test/test_hotshot.py b/Lib/test/test_hotshot.py
index db3c914..2a45a7f 100644
--- a/Lib/test/test_hotshot.py
+++ b/Lib/test/test_hotshot.py
@@ -31,10 +31,7 @@
         try:
             return hotshot.log.LogReader.next(self)
         except (IndexError, StopIteration):
-            # XXX This fails on Windows because the named file is still
-            # XXX open.  Offhand I couldn't find an appropriate way to close
-            # XXX the file object, or even where the heck it is.  LogReader
-            # XXX in particular doesn't have a close() method.
+            self.close()
             os.unlink(self.__logfn)
             raise