# HG changeset patch # User Matt Harbison # Date 2018-09-26 01:39:42 # Node ID d1e0b905c59df1306a3de1397ebf16fd2473bd6f # Parent 28626957395a97e61609ff0a405c40665c019f36 py3: conditionalize access to socketserver.ForkingMixIn This is no longer exported on platforms that don't support forking, as of 3.6. https://github.com/python/cpython/commit/aadff9bea61a2fc9f4cf0f213f0ee50fc54d6574 diff --git a/mercurial/hgweb/server.py b/mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py +++ b/mercurial/hgweb/server.py @@ -174,8 +174,12 @@ class _httprequesthandler(httpservermod. env[r'wsgi.errors'] = _error_logger(self) env[r'wsgi.multithread'] = isinstance(self.server, socketserver.ThreadingMixIn) - env[r'wsgi.multiprocess'] = isinstance(self.server, - socketserver.ForkingMixIn) + if util.safehasattr(socketserver, 'ForkingMixIn'): + env[r'wsgi.multiprocess'] = isinstance(self.server, + socketserver.ForkingMixIn) + else: + env[r'wsgi.multiprocess'] = False + env[r'wsgi.run_once'] = 0 wsgiref.validate.check_environ(env)