[nginx] Unbreak building on Linux without sendfile64() support.
Valentin Bartenev
vbart at nginx.com
Thu Aug 15 15:18:26 UTC 2013
details: http://hg.nginx.org/nginx/rev/bdb3588681c9
branches:
changeset: 5322:bdb3588681c9
user: Valentin Bartenev <vbart at nginx.com>
date: Thu Aug 15 19:14:33 2013 +0400
description:
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.
diffstat:
src/os/unix/ngx_linux_sendfile_chain.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (23 lines):
diff -r 9806f7932474 -r bdb3588681c9 src/os/unix/ngx_linux_sendfile_chain.c
--- a/src/os/unix/ngx_linux_sendfile_chain.c Tue Aug 13 17:47:04 2013 +0400
+++ b/src/os/unix/ngx_linux_sendfile_chain.c Thu Aug 15 19:14:33 2013 +0400
@@ -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;
}
More information about the nginx-devel
mailing list