HomePhabricator

hgweb: don't call sys.exit() in httpservice.run()

Authored by martinvonz.

Description

hgweb: don't call sys.exit() in httpservice.run()

If I'm reading the code correctly, mercurial.server.createservice()
can return an hgweb service or one of three types of command server
services. The caller then calls mercurial.server.runservice(),
passing it the returned service's run method. Only the hgweb service
was calling sys.exit(). It has been that way since 8d44649df03b
(refactor ssh server., 2006-06-04). That commit message doesn't
provide any explanation. Let's clean up and have the code follow the
usual return path into the dispatch module.

After this patch, there should be no remaining places left where we
call sys.exit() except for valid uses in the dispatch and worker
modules.

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