spectral created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY On py3, stdout and stderr appear to be buffered and this causes my command's output to be intermixed with the profiling output. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D8024 AFFECTED FILES mercurial/profiling.py CHANGE DETAILS diff --git a/mercurial/profiling.py b/mercurial/profiling.py --- a/mercurial/profiling.py +++ b/mercurial/profiling.py @@ -186,6 +186,7 @@ self._output = None self._fp = None self._fpdoclose = True + self._flushfp = None self._profiler = None self._enabled = enabled self._entered = False @@ -246,6 +247,8 @@ else: self._fpdoclose = False self._fp = self._ui.ferr + # Ensure we've flushed fout before writing to ferr. + self._flushfp = self._ui.fout if proffn is not None: pass @@ -265,6 +268,7 @@ def __exit__(self, exception_type, exception_value, traceback): propagate = None if self._profiler is not None: + self._uiflush() propagate = self._profiler.__exit__( exception_type, exception_value, traceback ) @@ -280,3 +284,7 @@ def _closefp(self): if self._fpdoclose and self._fp is not None: self._fp.close() + + def _uiflush(self): + if self._flushfp: + self._flushfp.flush() To: spectral, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel