do {
len = splice(fds[0], NULL, 1, NULL, READ_BLOCK, SPLICE_F_MORE);
- } while (len > 0);
+ } while (len > 0 || (len == -1 && errno == EINTR));
waitpid(pid, &status, 0);
do {
len = splice(fds[0], NULL, 1, NULL, READ_BLOCK, SPLICE_F_MORE);
- } while (len > 0);
+ } while (len > 0 || (len == -1 && errno == EINTR));
waitpid(pid, &status, 0);