diff options
| -rw-r--r-- | tcp_splice.c | 7 |
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] && |
