summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32/ngx_wsarecv_chain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/win32/ngx_wsarecv_chain.c')
-rw-r--r--src/os/win32/ngx_wsarecv_chain.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/os/win32/ngx_wsarecv_chain.c b/src/os/win32/ngx_wsarecv_chain.c
index 87f023911..4f95d5a2b 100644
--- a/src/os/win32/ngx_wsarecv_chain.c
+++ b/src/os/win32/ngx_wsarecv_chain.c
@@ -10,7 +10,7 @@
#include <ngx_event.h>
-#define NGX_WSABUFS 8
+#define NGX_WSABUFS 64
ssize_t
@@ -57,6 +57,10 @@ ngx_wsarecv_chain(ngx_connection_t *c, ngx_chain_t *chain, off_t limit)
wsabuf->len += n;
} else {
+ if (vec.nelts == vec.nalloc) {
+ break;
+ }
+
wsabuf = ngx_array_push(&vec);
if (wsabuf == NULL) {
return NGX_ERROR;