# HG changeset patch
# User Martin von Zweigbergk <martinvonz@google.com>
# Date 1604463649 28800
#      Tue Nov 03 20:20:49 2020 -0800
# Node ID d6279c43fc604b1f3f84a9dcfcd54e0959688e9f
# Parent  b7b8a15381614a36e857ef95461ef30db936c5e3
serve: simply return instead of calling sys.exit() in `hg serve --stdio`

The shouldn't be a reason to call `sys.exit()` instead of letting the
code return normally. I've remove the call in both `hg serve` and `hg
debugserve`.

Differential Revision: https://phab.mercurial-scm.org/D9271

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -6348,7 +6348,7 @@
             )
         s = wireprotoserver.sshserver(ui, repo)
         s.serve_forever()
-        sys.exit(0)
+        return
 
     service = server.createservice(ui, repo, opts)
     return server.runservice(opts, initfn=service.init, runfn=service.run)
diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -3376,7 +3376,6 @@
 
     s = wireprotoserver.sshserver(ui, repo, logfh=logfh)
     s.serve_forever()
-    sys.exit(0)
 
 
 @command(b'debugsetparents', [], _(b'REV1 [REV2]'))