This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

作者 ronaldoussoren
收信人 davin, kapilt, ned.deily, pitrou, ronaldoussoren
日期 2018-06-03.08:47:56
SpamBayes Score -1.0
Marked as misclassified
Message-id <1528015677.4.0.592728768989.issue33725@psf.upfronthosting.co.za>
In-reply-to
内容
Antoine, the issue is not necessarily related to POSIX compliance, AFAIK strictly POSIX compliant code should work just fine. The problem is in higher-level APIs (CoreFoundation, Foundation, AppKit, ...), and appears to be related to using multi-threading in those libraries without spending effort on pre/post fork handlers to ensure that new processes are in a sane state after fork().  In older macOS versions this could result in hard to debug issues, in newer versions APIs seem to guard against this by aborting when the detect that the pid changed.

Anyways... I agree that we shouldn't try to work around this in CPython, there's bound to more problems that are hidden with the proposed workaround.

---

<http://www.sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html> describes what the environment variable does, and this "just" changes behavior of the ObjC runtime, and doesn't make using macOS system frameworks after a fork saver.
历史
日期 用户 动作 参数
2018-06-03 08:47:57ronaldoussoren修改recipients: + ronaldoussoren, pitrou, ned.deily, davin, kapilt
2018-06-03 08:47:57ronaldoussoren修改messageid: <1528015677.4.0.592728768989.issue33725@psf.upfronthosting.co.za>
2018-06-03 08:47:57ronaldoussoren链接issue33725 messages
2018-06-03 08:47:56ronaldoussoren创建