mercurial/server.py
changeset 30507 dd539e2d89aa
parent 30506 d9d8d78e6bc9
child 30509 add7bcad1d9c
equal deleted inserted replaced
30506:d9d8d78e6bc9 30507:dd539e2d89aa
    13 import tempfile
    13 import tempfile
    14 
    14 
    15 from .i18n import _
    15 from .i18n import _
    16 
    16 
    17 from . import (
    17 from . import (
       
    18     commandserver,
    18     error,
    19     error,
    19     util,
    20     util,
    20 )
    21 )
    21 
    22 
    22 def runservice(opts, parentfn=None, initfn=None, runfn=None, logfile=None,
    23 def runservice(opts, parentfn=None, initfn=None, runfn=None, logfile=None,
   103         if logfile and logfilefd not in (0, 1, 2):
   104         if logfile and logfilefd not in (0, 1, 2):
   104             os.close(logfilefd)
   105             os.close(logfilefd)
   105 
   106 
   106     if runfn:
   107     if runfn:
   107         return runfn()
   108         return runfn()
       
   109 
       
   110 _cmdservicemap = {
       
   111     'pipe': commandserver.pipeservice,
       
   112     'unix': commandserver.unixforkingservice,
       
   113 }
       
   114 
       
   115 def createcmdservice(ui, repo, opts):
       
   116     mode = opts['cmdserver']
       
   117     try:
       
   118         return _cmdservicemap[mode](ui, repo, opts)
       
   119     except KeyError:
       
   120         raise error.Abort(_('unknown mode %s') % mode)