# HG changeset patch # User Valentin Bartenev # Date 1416421093 -10800 # Node ID c50b5ed3cd4b901f179411fd46b8ca38ce81e278 # Parent 2c64b69daec50e8bede7b9cfc3abb662f5e4a32b Fixed type of sendfile() return value on Linux. There was no real problem since the amount of bytes can be sent is limited by NGX_SENDFILE_MAXSIZE to less than 2G. But that can be changed in the future diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c --- a/src/os/unix/ngx_linux_sendfile_chain.c +++ b/src/os/unix/ngx_linux_sendfile_chain.c @@ -30,7 +30,7 @@ ngx_chain_t * ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) { - int rc, tcp_nodelay; + int tcp_nodelay; off_t send, prev_send, sent; size_t file_size; ssize_t n; @@ -170,9 +170,9 @@ ngx_linux_sendfile_chain(ngx_connection_ ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, "sendfile: @%O %uz", file->file_pos, file_size); - rc = sendfile(c->fd, file->file->fd, &offset, file_size); + n = sendfile(c->fd, file->file->fd, &offset, file_size); - if (rc == -1) { + if (n == -1) { err = ngx_errno; switch (err) { @@ -193,11 +193,11 @@ ngx_linux_sendfile_chain(ngx_connection_ "sendfile() is not ready"); } - sent = rc > 0 ? rc : 0; + sent = n > 0 ? n : 0; ngx_log_debug4(NGX_LOG_DEBUG_EVENT, c->log, 0, - "sendfile: %d, @%O %O:%uz", - rc, file->file_pos, sent, file_size); + "sendfile: %z, @%O %O:%uz", + n, file->file_pos, sent, file_size); } else { n = ngx_writev(c, &header);