diff -r e6d890e1ed4f -r 32b77aba2772 mercurial/commands.py --- a/mercurial/commands.py Thu Oct 16 14:55:45 2014 -0400 +++ b/mercurial/commands.py Sat Sep 27 14:52:09 2014 +0900 @@ -5536,8 +5536,8 @@ s.serve_forever() if opts["cmdserver"]: - s = commandserver.server(ui, repo, opts["cmdserver"]) - return s.serve() + service = commandserver.pipeservice(ui, repo, opts) + return cmdutil.service(opts, initfn=service.init, runfn=service.run) # this way we can check if something was given in the command-line if opts.get('port'):