Restart waitpid after the pidfd-fork SIGUSR1
test-pidfd-fork fails intermittently on the qemu-aarch64 lane with parent: child checks FAIL: child checks failed (errno=4), most recently on #436 (Runtime (Release) for dcdd563). The parent's SIGUSR1 handler lacks SA_RESTART, so when the child's pidfd_send_signal lands while the parent waits in waitpid(), the wait returns EINTR and reap_ok() reports the child as failed. The commit message has the interleaving.
Tested by running the test binary in a loop, unmodified and with this change:
- qemu-aarch64 reference VM (6.12.103), 300 runs each: 166 failed before, 0 failed after.
- elfuse, 50 runs each: 0 failed before and after, because the elfuse wait loops never return EINTR (#461).
make check passes on this branch. Based on main at c2785c7.
Summary by cubic
Fixes the intermittent test-pidfd-fork failure on qemu-aarch64 by adding SA_RESTART to the parent's SIGUSR1 handler so waitpid() resumes instead of failing with EINTR when the child signals through its pidfd.