diff --git a/src/os/unix/ngx_darwin_sendfile_chain.c b/src/os/unix/ngx_darwin_sendfile_chain.c index a85269dcd..3caad0790 100644 --- a/src/os/unix/ngx_darwin_sendfile_chain.c +++ b/src/os/unix/ngx_darwin_sendfile_chain.c @@ -75,8 +75,6 @@ ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) trailer.nalloc = NGX_IOVS_PREALLOCATE; for ( ;; ) { - file = NULL; - file_size = 0; eintr = 0; prev_send = send; @@ -98,23 +96,22 @@ ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) file_size = ngx_chain_coalesce_file(&cl, limit - send); send += file_size; - } - if (file && header.count == 0) { + if (header.count == 0) { - /* create the trailer iovec and coalesce the neighbouring bufs */ + /* + * create the trailer iovec and coalesce the neighbouring bufs + */ - cl = ngx_output_chain_to_iovec(&trailer, cl, limit - send, c->log); + cl = ngx_output_chain_to_iovec(&trailer, cl, limit - send, c->log); - if (cl == NGX_CHAIN_ERROR) { - return NGX_CHAIN_ERROR; + if (cl == NGX_CHAIN_ERROR) { + return NGX_CHAIN_ERROR; + } + + send += trailer.size; } - send += trailer.size; - } - - if (file) { - /* * sendfile() returns EINVAL if sf_hdtr's count is 0, * but corresponding pointer is not NULL diff --git a/src/os/unix/ngx_freebsd_sendfile_chain.c b/src/os/unix/ngx_freebsd_sendfile_chain.c index 96d783e27..76f6ef235 100644 --- a/src/os/unix/ngx_freebsd_sendfile_chain.c +++ b/src/os/unix/ngx_freebsd_sendfile_chain.c @@ -79,8 +79,6 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) trailer.nalloc = NGX_IOVS_PREALLOCATE; for ( ;; ) { - file = NULL; - file_size = 0; eintr = 0; prev_send = send; @@ -102,10 +100,6 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) file_size = (size_t) ngx_chain_coalesce_file(&cl, limit - send); send += file_size; - } - - - if (file) { /* create the trailer iovec and coalesce the neighbouring bufs */ @@ -116,9 +110,6 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) } send += trailer.size; - } - - if (file) { if (ngx_freebsd_use_tcp_nopush && c->tcp_nopush == NGX_TCP_NOPUSH_UNSET) diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c index 417c19b02..c83677f0f 100644 --- a/src/os/unix/ngx_linux_sendfile_chain.c +++ b/src/os/unix/ngx_linux_sendfile_chain.c @@ -66,8 +66,6 @@ ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) header.nalloc = NGX_IOVS_PREALLOCATE; for ( ;; ) { - file = NULL; - file_size = 0; eintr = 0; prev_send = send; @@ -156,9 +154,6 @@ ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) file_size = (size_t) ngx_chain_coalesce_file(&cl, limit - send); send += file_size; - } - - if (file) { #if 1 if (file_size == 0) { ngx_debug_point();