comparison mercurial/commandserver.py @ 30516:dd539e2d89aa

server: move service table and factory from commandserver This is necessary to solve future dependency cycle between commandserver.py and chgserver.py. 'cmd' prefix is added to table and function names to avoid conflicts with hgweb.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 15 Oct 2016 13:57:17 +0900
parents 39d13b8c101d
children 20a42325fdef
comparison
equal deleted inserted replaced
30515:d9d8d78e6bc9 30516:dd539e2d89aa
527 h = self._servicehandler 527 h = self._servicehandler
528 try: 528 try:
529 _serverequest(self.ui, self.repo, conn, h.createcmdserver) 529 _serverequest(self.ui, self.repo, conn, h.createcmdserver)
530 finally: 530 finally:
531 gc.collect() # trigger __del__ since worker process uses os._exit 531 gc.collect() # trigger __del__ since worker process uses os._exit
532
533 _servicemap = {
534 'pipe': pipeservice,
535 'unix': unixforkingservice,
536 }
537
538 def createservice(ui, repo, opts):
539 mode = opts['cmdserver']
540 try:
541 return _servicemap[mode](ui, repo, opts)
542 except KeyError:
543 raise error.Abort(_('unknown mode %s') % mode)