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.FN"s the best approach to make that happen? I see that atfork_child_callback get called in the child process after fork$B!D(B is that the approved approach?
This has now been implemented in 8.1, and socktest.pike no longer hangs on macOS 11.1. I can backport this, and other macOS fixes, to 8.0 once they get some more testing.