--- a/mercurial/wireprotoserver.py Sun Mar 25 16:35:24 2018 +0900
+++ b/mercurial/wireprotoserver.py Sun Mar 25 16:47:33 2018 +0900
@@ -18,7 +18,6 @@
from . import (
encoding,
error,
- hook,
pycompat,
util,
wireprototypes,
@@ -785,8 +784,7 @@
def __init__(self, ui, repo, logfh=None):
self._ui = ui
self._repo = repo
- self._fin = ui.fin
- self._fout = ui.fout
+ self._fin, self._fout = procutil.protectstdio(ui.fin, ui.fout)
# Log write I/O to stdout and stderr if configured.
if logfh:
@@ -795,11 +793,10 @@
ui.ferr = util.makeloggingfileobject(
logfh, ui.ferr, 'e', logdata=True)
- hook.redirect(True)
- ui.fout = repo.ui.fout = ui.ferr
-
def serve_forever(self):
self.serveuntil(threading.Event())
+ procutil.restorestdio(self._ui.fin, self._ui.fout,
+ self._fin, self._fout)
sys.exit(0)
def serveuntil(self, ev):