- do {
- nwrite = splice(pipefd[0], NULL, out_fd, NULL, nread, 0);
- printf("write %d bytes\n", nwrite);
- if (nwrite == 0) continue;
+ while (nread > 0) {
+ nwrite = splice(pipefd[0], NULL, out_fd, NULL, nread,
+ SPLICE_F_MOVE|SPLICE_F_MORE);
+ debug("write %d bytes\n", nwrite);