wait3, wait4 and EINTR on Darwin


ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]

Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020;
root:xnu-6153.141.1~1/RELEASE_X86_64 x86_64

I wrote an extension for wait3 & wait4 for Ruby a while back:

At some point in the Ruby and/or Mac lifecycle...I'm not sure when....the
wait3 and wait4 methods started raising EINTR errors on my Mac:

# gem install proc-wait3
require 'proc-wait3'
pid = fork{ sleep 2 } # also tried exec "sleep 2"
puts "PID: #{pid}"
p Process.wait3 # boom, Errno::EINTR

This works as expected on my Linux VM. Anyone know what's happening on Mac?
Is there some kind of sigchld handling happening internally that I'm not
aware of?