[PATCH 2 of 3] cmdserver: postpone creation of pipe server until run()

Yuya Nishihara yuya at tcha.org
Sat Nov 15 10:34:26 UTC 2014


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1416024281 -32400
#      Sat Nov 15 13:04:41 2014 +0900
# Node ID d6e1a0cd0da71ebd777d2f35a52b6390ca3915e8
# Parent  546edd445faa8da409bc5df17629705de0d8d774
cmdserver: postpone creation of pipe server until run()

This makes it easy to swap file descriptors while running command server.

diff --git a/mercurial/commandserver.py b/mercurial/commandserver.py
--- a/mercurial/commandserver.py
+++ b/mercurial/commandserver.py
@@ -250,13 +250,16 @@ class server(object):
 
 class pipeservice(object):
     def __init__(self, ui, repo, opts):
-        self.server = server(ui, repo, ui.fin, ui.fout)
+        self.ui = ui
+        self.repo = repo
 
     def init(self):
         pass
 
     def run(self):
-        return self.server.serve()
+        ui = self.ui
+        sv = server(ui, self.repo, ui.fin, ui.fout)
+        return sv.serve()
 
 class _requesthandler(SocketServer.StreamRequestHandler):
     def handle(self):



More information about the Mercurial-devel mailing list