perl & EINTR
Restartable system calls On systems that supported it, older versions of Perl used the SA_RESTART flag when installing %SIG handlers. This meant that restartable system calls would continue rather than returning when a signal arrived. In order to deliver deferred signals promptly, Perl 5.7.3 and later do not use SA_RESTART. Consequently, restartable system calls can fail (with $! set to "EINTR") in places where they previously would have succeeded. Note that the default ":perlio" layer will retry "read", "write" and "close" as described above and that interrupted "wait" and "waitpid" calls will always be retried. perldoc perlipc
な、なんだってー。で send とか recv とか waitpid とかだとどうなるんでしょう?
追記: wait は Proc::Wait3 を使えば良い
追記2: sysread, syswrite, send, recv あたりは EINTR で制御が戻るっぽい