comparison mercurial/commandserver.py @ 23323:bc374458688b

cmdserver: postpone creation of pipe server until run() This makes it easy to swap file descriptors while running command server.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 15 Nov 2014 13:04:41 +0900
parents 000cfc8b3913
children 69f86b937035
comparison
equal deleted inserted replaced
23322:000cfc8b3913 23323:bc374458688b
248 248
249 return 0 249 return 0
250 250
251 class pipeservice(object): 251 class pipeservice(object):
252 def __init__(self, ui, repo, opts): 252 def __init__(self, ui, repo, opts):
253 self.server = server(ui, repo, ui.fin, ui.fout) 253 self.ui = ui
254 self.repo = repo
254 255
255 def init(self): 256 def init(self):
256 pass 257 pass
257 258
258 def run(self): 259 def run(self):
259 return self.server.serve() 260 ui = self.ui
261 sv = server(ui, self.repo, ui.fin, ui.fout)
262 return sv.serve()
260 263
261 class _requesthandler(SocketServer.StreamRequestHandler): 264 class _requesthandler(SocketServer.StreamRequestHandler):
262 def handle(self): 265 def handle(self):
263 ui = self.server.ui 266 ui = self.server.ui
264 repo = self.server.repo 267 repo = self.server.repo