On Nov 19, 2020, at 2:43 PM, H William Welliver william@welliver.org wrote:
I’m running builds of 8.0 to make sure we don’t have any major test failures, and I’ve run into a few problems so far. I’ll put them in separate emails so they are more manageable. If anyone can offer any assistance, that would be most appreciated. I can supply any info needed, up to getting you a logon to the systems in question.
First up, macOS 10.12+ hang on socktest.pike. The 10.11 and earlier do not have this problem, and I haven’t tried running an older binary on a newer OS. The call to gc() in finish() never returns, and according to LLDB:
…
So, a little more experimentation and it appears that my hunch was correct: mach ports are invalid in the child process, and a call to init_mach_clock()following the fork() seems to restore order. What’s the best approach to make that happen? I see that atfork_child_callback get called in the child process after fork… is that the approved approach?
Bill