aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/os/unix/ngx_darwin_sendfile_chain.c17
-rw-r--r--src/os/unix/ngx_freebsd_sendfile_chain.c17
-rw-r--r--src/os/unix/ngx_linux_sendfile_chain.c11
-rw-r--r--src/os/unix/ngx_os.h7
-rw-r--r--src/os/unix/ngx_readv_chain.c11
-rw-r--r--src/os/unix/ngx_solaris_sendfilev_chain.c7
-rw-r--r--src/os/unix/ngx_writev_chain.c11
7 files changed, 24 insertions, 57 deletions
diff --git a/src/os/unix/ngx_darwin_sendfile_chain.c b/src/os/unix/ngx_darwin_sendfile_chain.c
index 67b740bd2..dd574e5ac 100644
--- a/src/os/unix/ngx_darwin_sendfile_chain.c
+++ b/src/os/unix/ngx_darwin_sendfile_chain.c
@@ -27,15 +27,6 @@
*/
-#if (IOV_MAX > 64)
-#define NGX_HEADERS 64
-#define NGX_TRAILERS 64
-#else
-#define NGX_HEADERS IOV_MAX
-#define NGX_TRAILERS IOV_MAX
-#endif
-
-
ngx_chain_t *
ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
{
@@ -50,7 +41,9 @@ ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
ngx_event_t *wev;
ngx_chain_t *cl;
struct sf_hdtr hdtr;
- struct iovec *iov, headers[NGX_HEADERS], trailers[NGX_TRAILERS];
+ struct iovec *iov;
+ struct iovec headers[NGX_IOVS_PREALLOCATE];
+ struct iovec trailers[NGX_IOVS_PREALLOCATE];
wev = c->write;
@@ -79,12 +72,12 @@ ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
header.elts = headers;
header.size = sizeof(struct iovec);
- header.nalloc = NGX_HEADERS;
+ header.nalloc = NGX_IOVS_PREALLOCATE;
header.pool = c->pool;
trailer.elts = trailers;
trailer.size = sizeof(struct iovec);
- trailer.nalloc = NGX_TRAILERS;
+ trailer.nalloc = NGX_IOVS_PREALLOCATE;
trailer.pool = c->pool;
for ( ;; ) {
diff --git a/src/os/unix/ngx_freebsd_sendfile_chain.c b/src/os/unix/ngx_freebsd_sendfile_chain.c
index 09f66a2c6..f5d0f3a8a 100644
--- a/src/os/unix/ngx_freebsd_sendfile_chain.c
+++ b/src/os/unix/ngx_freebsd_sendfile_chain.c
@@ -29,15 +29,6 @@
*/
-#if (IOV_MAX > 64)
-#define NGX_HEADERS 64
-#define NGX_TRAILERS 64
-#else
-#define NGX_HEADERS IOV_MAX
-#define NGX_TRAILERS IOV_MAX
-#endif
-
-
ngx_chain_t *
ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
{
@@ -52,7 +43,9 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
ngx_event_t *wev;
ngx_chain_t *cl;
struct sf_hdtr hdtr;
- struct iovec *iov, headers[NGX_HEADERS], trailers[NGX_TRAILERS];
+ struct iovec *iov;
+ struct iovec headers[NGX_IOVS_PREALLOCATE];
+ struct iovec trailers[NGX_IOVS_PREALLOCATE];
wev = c->write;
@@ -83,12 +76,12 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
header.elts = headers;
header.size = sizeof(struct iovec);
- header.nalloc = NGX_HEADERS;
+ header.nalloc = NGX_IOVS_PREALLOCATE;
header.pool = c->pool;
trailer.elts = trailers;
trailer.size = sizeof(struct iovec);
- trailer.nalloc = NGX_TRAILERS;
+ trailer.nalloc = NGX_IOVS_PREALLOCATE;
trailer.pool = c->pool;
for ( ;; ) {
diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c
index 48b5a71a1..1060852a0 100644
--- a/src/os/unix/ngx_linux_sendfile_chain.c
+++ b/src/os/unix/ngx_linux_sendfile_chain.c
@@ -27,13 +27,6 @@
#define NGX_SENDFILE_MAXSIZE 2147483647L
-#if (IOV_MAX > 64)
-#define NGX_HEADERS 64
-#else
-#define NGX_HEADERS IOV_MAX
-#endif
-
-
ngx_chain_t *
ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
{
@@ -47,7 +40,7 @@ ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
ngx_array_t header;
ngx_event_t *wev;
ngx_chain_t *cl;
- struct iovec *iov, headers[NGX_HEADERS];
+ struct iovec *iov, headers[NGX_IOVS_PREALLOCATE];
#if (NGX_HAVE_SENDFILE64)
off_t offset;
#else
@@ -72,7 +65,7 @@ ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
header.elts = headers;
header.size = sizeof(struct iovec);
- header.nalloc = NGX_HEADERS;
+ header.nalloc = NGX_IOVS_PREALLOCATE;
header.pool = c->pool;
for ( ;; ) {
diff --git a/src/os/unix/ngx_os.h b/src/os/unix/ngx_os.h
index c646e2aa5..1033d8825 100644
--- a/src/os/unix/ngx_os.h
+++ b/src/os/unix/ngx_os.h
@@ -56,6 +56,13 @@ ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in,
#endif
+#if (IOV_MAX > 64)
+#define NGX_IOVS_PREALLOCATE 64
+#else
+#define NGX_IOVS_PREALLOCATE IOV_MAX
+#endif
+
+
extern ngx_os_io_t ngx_os_io;
extern ngx_int_t ngx_ncpu;
extern ngx_int_t ngx_max_sockets;
diff --git a/src/os/unix/ngx_readv_chain.c b/src/os/unix/ngx_readv_chain.c
index 925034c53..8523be367 100644
--- a/src/os/unix/ngx_readv_chain.c
+++ b/src/os/unix/ngx_readv_chain.c
@@ -10,13 +10,6 @@
#include <ngx_event.h>
-#if (IOV_MAX > 64)
-#define NGX_IOVS 64
-#else
-#define NGX_IOVS IOV_MAX
-#endif
-
-
ssize_t
ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
{
@@ -25,7 +18,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
ngx_err_t err;
ngx_array_t vec;
ngx_event_t *rev;
- struct iovec *iov, iovs[NGX_IOVS];
+ struct iovec *iov, iovs[NGX_IOVS_PREALLOCATE];
rev = c->read;
@@ -67,7 +60,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
vec.elts = iovs;
vec.nelts = 0;
vec.size = sizeof(struct iovec);
- vec.nalloc = NGX_IOVS;
+ vec.nalloc = NGX_IOVS_PREALLOCATE;
vec.pool = c->pool;
/* coalesce the neighbouring bufs */
diff --git a/src/os/unix/ngx_solaris_sendfilev_chain.c b/src/os/unix/ngx_solaris_sendfilev_chain.c
index 1afe5ac19..ba328c810 100644
--- a/src/os/unix/ngx_solaris_sendfilev_chain.c
+++ b/src/os/unix/ngx_solaris_sendfilev_chain.c
@@ -35,12 +35,7 @@ ngx_chain_t *ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in,
#endif
-#if (IOV_MAX > 64)
-#define NGX_SENDFILEVECS 64
-#else
-#define NGX_SENDFILEVECS IOV_MAX
-#endif
-
+#define NGX_SENDFILEVECS NGX_IOVS_PREALLOCATE
ngx_chain_t *
diff --git a/src/os/unix/ngx_writev_chain.c b/src/os/unix/ngx_writev_chain.c
index f67c3a3c9..95af2da7a 100644
--- a/src/os/unix/ngx_writev_chain.c
+++ b/src/os/unix/ngx_writev_chain.c
@@ -10,13 +10,6 @@
#include <ngx_event.h>
-#if (IOV_MAX > 64)
-#define NGX_IOVS 64
-#else
-#define NGX_IOVS IOV_MAX
-#endif
-
-
ngx_chain_t *
ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
{
@@ -28,7 +21,7 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
ngx_array_t vec;
ngx_chain_t *cl;
ngx_event_t *wev;
- struct iovec *iov, iovs[NGX_IOVS];
+ struct iovec *iov, iovs[NGX_IOVS_PREALLOCATE];
wev = c->write;
@@ -57,7 +50,7 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
vec.elts = iovs;
vec.size = sizeof(struct iovec);
- vec.nalloc = NGX_IOVS;
+ vec.nalloc = NGX_IOVS_PREALLOCATE;
vec.pool = c->pool;
for ( ;; ) {