mercurial/profiling.py
changeset 32805 2b0fc56840d0
parent 32804 c0b2c8f25ad9
child 32806 3a4c677cbd6e
--- a/mercurial/profiling.py	Mon Jun 12 17:13:35 2017 +0200
+++ b/mercurial/profiling.py	Mon Jun 12 17:14:56 2017 +0200
@@ -151,6 +151,7 @@
         self._ui = ui
         self._output = None
         self._fp = None
+        self._fpdoclose = True
         self._profiler = None
         self._enabled = enabled
         self._entered = False
@@ -193,6 +194,7 @@
             path = self._ui.expandpath(self._output)
             self._fp = open(path, 'wb')
         else:
+            self._fpdoclose = False
             self._fp = self._ui.ferr
 
         if proffn is not None:
@@ -221,4 +223,5 @@
             self._closefp()
 
     def _closefp(self):
-        self._fp.close()
+        if self._fpdoclose and self._fp is not None:
+            self._fp.close()