Mercurial > hg
diff mercurial/windows.py @ 48951:cf99c4af1079
chgserver: remove Python 2 file descriptor logic
Follows up 0bb28b7736bc "chgserver: remove Python 2 support code."
On Python 2, we had to close newfp prior to restoring the original file
description since "delete newfp" would otherwise close the file descriptor
shared with the long-lived fp:
in attachio():
newfp = os.fdopen(fp.fileno(), mode, bufsize)
in _restoreio():
newfp.close() # temporarily close newfp.fileno() (= fp.fileno())
os.dup2(fd, fp.fileno()) # reopen fp.fileno() with original fd
On the other hand, we shouldn't call newfp.close() on Python 3 since
any function calls are proxied to the underlying file object by
procutil.LineBufferedWrapper.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 04 Mar 2022 10:28:46 +0900 |
parents | 642e31cb55f0 |
children | d500df2e8034 |