Author ronaldoussoren
Recipients davin, kapilt, ned.deily, pitrou, ronaldoussoren
Date 2018-06-03.08:47:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1528015677.4.0.592728768989.issue33725@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2018-06-03 08:47:57ronaldoussorensetrecipients: + ronaldoussoren, pitrou, ned.deily, davin, kapilt
2018-06-03 08:47:57ronaldoussorensetmessageid: <1528015677.4.0.592728768989.issue33725@psf.upfronthosting.co.za>
2018-06-03 08:47:57ronaldoussorenlinkissue33725 messages
2018-06-03 08:47:56ronaldoussorencreate