aboutgitcodebugslistschat
path: root/contrib/qemu/git:
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2026-05-28 15:02:08 +1000
committerStefano Brivio <sbrivio@redhat.com>2026-06-04 06:35:18 +0200
commit4a6187008f1ac3db2e221b3b21151f4d72fa8821 (patch)
treed4581b17ef4017cd39dfd183a1f258ea6c08eef5 /contrib/qemu/git:
parent1d475b1dbf22dac4a9fda3ebb444b0343392c5c3 (diff)
downloadpasst-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar.gz
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar.bz2
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar.lz
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar.xz
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.tar.zst
passt-4a6187008f1ac3db2e221b3b21151f4d72fa8821.zip
tcp_splice: Improve EOF exit condition for the loop
In tcp_splice_forward() we exit the forwarding loop if we have an EOF on the read side. However, this potentially leaves data in the pipe, even if the write side hasn't yet blocked. It's not clear to me whether this could leave data indefinitely in the pipe with no events to keep it moving, but it's not clear to me that it couldn't either. Stay in the loop until either the write side blocks or we've emptied the pipe. Secondly, this test is after several tests on how much we wrote which might also cause a retry. However, if we've reached EOF and the pipe is empty, there's nothing more to do, regardless of how much we wrote, so we should exit, regardless of those conditions. So move this exit test above the retry conditions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'contrib/qemu/git:')
0 files changed, 0 insertions, 0 deletions