diff --git a/mercurial/statprof.py b/mercurial/statprof.py --- a/mercurial/statprof.py +++ b/mercurial/statprof.py @@ -729,10 +729,6 @@ fp.write(b'get it here: https://github.com/brendangregg/FlameGraph\n') return - fd, path = pycompat.mkstemp() - - file = open(path, "w+") - lines = {} for sample in data.samples: sites = [s.function for s in sample.stack] @@ -743,10 +739,11 @@ else: lines[line] = 1 - for line, count in lines.iteritems(): - file.write("%s %d\n" % (line, count)) + fd, path = pycompat.mkstemp() - file.close() + with open(path, "w+") as file: + for line, count in lines.iteritems(): + file.write("%s %d\n" % (line, count)) if outputfile is None: outputfile = '~/flamegraph.svg'