Returning EINTR is valid behaviour, but not when SA_RESTART is set. The POSIX documentation for sigaction[1] is quite clear about that, even if Apple's corresponding docs[2] are confusingly worded.
[1]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/s...
[2]: https://developer.apple.com/library/archive/documentation/Sy...