Author ronaldoussoren
Recipients barry, davin, kapilt, ned.deily, pitrou, ronaldoussoren
Date 2018-12-05.11:52:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1544010745.48.0.788709270274.issue33725@psf.upfronthosting.co.za>
In-reply-to
Content
AFAIK there is nothing you can do between after calling fork(2) to "reinitialise" the ObjC runtime. And I don't think that's the issue anyway: I suspect that the actual problem is that Apple's system frameworks use multithreading (in particular libdispatch) and don't have code to ensure a sane state after calling fork. 

In Python 3 there is another workaround to avoid problems using multiprocessing: use multiprocessing.set_start_method() to switch away from the "fork" startup handler to "spawn" or "forkserver" (the latter only when calling set_start_method before calling any code that might call into Apple system frameworks.
History
Date User Action Args
2018-12-05 11:52:25ronaldoussorensetrecipients: + ronaldoussoren, barry, pitrou, ned.deily, davin, kapilt
2018-12-05 11:52:25ronaldoussorensetmessageid: <1544010745.48.0.788709270274.issue33725@psf.upfronthosting.co.za>
2018-12-05 11:52:25ronaldoussorenlinkissue33725 messages
2018-12-05 11:52:25ronaldoussorencreate