Auto merge of #27001 - saschanaz:no-mp-hack, r=jdm

Don't run multiprocessing hack on Python 3

<!-- Please describe your changes on the following line: -->

This ports https://phabricator.services.mozilla.com/D42016.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This commit is contained in:
bors-servo 2020-06-20 10:20:25 -04:00 committed by GitHub
commit a6de9e01ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

8
mach
View file

@ -36,7 +36,7 @@ def main(args):
if __name__ == '__main__':
sys.dont_write_bytecode = True
if sys.platform == 'win32':
if sys.platform == 'win32' and sys.version_info < (3, 4):
# This is a complete hack to work around the fact that Windows
# multiprocessing needs to import the original module (ie: this
# file), but only works if it has a .py extension.
@ -54,6 +54,12 @@ if __name__ == '__main__':
#
# See also: http://bugs.python.org/issue19946
# And: https://bugzilla.mozilla.org/show_bug.cgi?id=914563
# XXX In Python 3.4 the multiprocessing module was re-written and the
# below code is no longer valid. The Python issue19946 also claims to
# be fixed in this version. It's not clear whether this hack is still
# needed in 3.4+ or not, but at least some basic mach commands appear
# to work without it. So skip it in 3.4+ until we determine it's still
# needed.
import inspect
from multiprocessing import forking
global orig_command_line