This break EPIPE handling inside splice when SIGPIPE is ignored: Before: $ { sleep 1; strace -e splice pv -q /dev/zero; } | : splice(3, NULL, 1, NULL, 131072, SPLICE_F_MORE) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=23750, si_uid=17005} --- --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=23750, si_uid=17005} --- +++ exited with 0 +++ After: $ { sleep 1; strace -e splice pv -q /dev/zero; } | : splice(3, NULL, 1, NULL, 131072, SPLICE_F_MORE) = 65536 splice(3, NULL, 1, NULL, 131072, SPLICE_F_MORE [hangs] Andreas. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html