Ronald Oussoren <ronaldousso...@mac.com> added the comment:

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.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33725>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to