aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--tcp_splice.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tcp_splice.c b/tcp_splice.c
index 25e5d09..943dc21 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -543,15 +543,16 @@ retry:
break;
}
+ if (conn->events & FIN_RCVD(fromsidei) &&
+ !conn->pending[fromsidei])
+ break;
+
if (never_read && written == (long)(c->tcp.pipe_size))
goto retry;
if (!never_read && written > 0 &&
written < conn->pending[fromsidei])
goto retry;
-
- if (conn->events & FIN_RCVD(fromsidei))
- break;
}
if (!conn->pending[fromsidei] &&