diff --git a/src/raw_sock.c b/src/raw_sock.c index ad4a0aafa..e03025359 100644 --- a/src/raw_sock.c +++ b/src/raw_sock.c @@ -159,10 +159,7 @@ int raw_sock_to_pipe(struct connection *conn, struct pipe *pipe, unsigned int co retval += ret; pipe->data += ret; - - /* if a POLL_HUP was present, we've read the last segment */ - if ((fdtab[conn->t.sock.fd].ev & (FD_POLL_ERR|FD_POLL_HUP)) == FD_POLL_HUP) - goto out_read0; + count -= ret; if (pipe->data >= SPLICE_FULL_HINT || ret >= global.tune.recv_enough) { /* We've read enough of it for this time, let's stop before