Mercurial > hg
changeset 32805:2b0fc56840d0
profile: use explicit logic to control file closing
We make the decision to close 'fp' more explicit instead of relying on the
implication of other variable. This makes the overall logic more robust.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 12 Jun 2017 17:14:56 +0200 |
parents | c0b2c8f25ad9 |
children | 3a4c677cbd6e |
files | mercurial/profiling.py |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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()