[nginx] Fixed type of sendfile() return value on Linux.

Valentin Bartenev vbart at nginx.com
Wed Nov 19 18:19:14 UTC 2014


details:   http://hg.nginx.org/nginx/rev/c50b5ed3cd4b
branches:  
changeset: 5918:c50b5ed3cd4b
user:      Valentin Bartenev <vbart at nginx.com>
date:      Wed Nov 19 21:18:13 2014 +0300
description:
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

diffstat:

 src/os/unix/ngx_linux_sendfile_chain.c |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (39 lines):

diff -r 2c64b69daec5 -r c50b5ed3cd4b src/os/unix/ngx_linux_sendfile_chain.c
--- a/src/os/unix/ngx_linux_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_linux_sendfile_chain.c	Wed Nov 19 21:18:13 2014 +0300
@@ -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);



More information about the nginx-devel mailing list