# HG changeset patch # User Matt Harbison # Date 1537925982 14400 # 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 -r 28626957395a -r d1e0b905c59d mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py Tue Sep 25 22:46:18 2018 -0400 +++ b/mercurial/hgweb/server.py Tue Sep 25 21:39:42 2018 -0400 @@ -174,8 +174,12 @@ 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)