# HG changeset patch # User Valentin Bartenev # Date 1376579673 -14400 # Node ID bdb3588681c91f48b89310bb88f39f1a1cda3b5f # Parent 9806f7932474fa0779b976fa00ed6b28ccec47cb Unbreak building on Linux without sendfile64() support. It was broken in 8e446a2daf48 when the NGX_SENDFILE_LIMIT constant was added to ngx_linux_sendfile_chain.c having the same name as already defined one in ngx_linux_config.h. The newer is needed to overcome a bug in old Linux kernels by limiting the number of bytes to send per sendfile() syscall. The older is used with sendfile() on ancient kernels that works with 32-bit offsets only. One of these renamed to NGX_SENDFILE_MAXSIZE. 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 @@ -24,7 +24,7 @@ * so we limit it to 2G-1 bytes. */ -#define NGX_SENDFILE_LIMIT 2147483647L +#define NGX_SENDFILE_MAXSIZE 2147483647L #if (IOV_MAX > 64) @@ -63,8 +63,8 @@ ngx_linux_sendfile_chain(ngx_connection_ /* the maximum limit size is 2G-1 - the page size */ - if (limit == 0 || limit > (off_t) (NGX_SENDFILE_LIMIT - ngx_pagesize)) { - limit = NGX_SENDFILE_LIMIT - ngx_pagesize; + if (limit == 0 || limit > (off_t) (NGX_SENDFILE_MAXSIZE - ngx_pagesize)) { + limit = NGX_SENDFILE_MAXSIZE - ngx_pagesize; }