Mercurial > hg
changeset 48903:0bb28b7736bc
chgserver: remove Python 2 support code
The logic here is more complicated than most Python 2/3 support code.
But the rewritten logic should be identical.
Differential Revision: https://phab.mercurial-scm.org/D12306
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 21 Feb 2022 10:43:58 -0700 |
parents | 1ba11c8f3430 |
children | 7dc430b85351 |
files | mercurial/chgserver.py |
diffstat | 1 files changed, 4 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/chgserver.py Mon Feb 21 10:40:58 2022 -0700 +++ b/mercurial/chgserver.py Mon Feb 21 10:43:58 2022 -0700 @@ -439,16 +439,13 @@ ui = self.ui for (ch, fp, fd), (cn, fn, mode) in zip(self._oldios, _iochannels): newfp = getattr(ui, fn) - # On Python 2, newfp and fp may be separate file objects associated - # with the same fd, so we must close newfp while it's associated - # with the client. Otherwise the new associated fd would be closed - # when newfp gets deleted. On Python 3, newfp is just a wrapper - # around fp even if newfp is not fp, so deleting newfp is safe. - if not (pycompat.ispy3 or newfp is fp): + # On Python 3, newfp is just a wrapper around fp even if newfp is + # not fp, so deleting newfp is safe. + if newfp is not fp: newfp.close() # restore original fd: fp is open again try: - if (pycompat.ispy3 or newfp is fp) and 'w' in mode: + if newfp is fp and 'w' in mode: # Discard buffered data which couldn't be flushed because # of EPIPE. The data should belong to the current session # and should never persist.