summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-08-13 15:11:45 +0400
committerValentin Bartenev <vbart@nginx.com>2014-08-13 15:11:45 +0400
commit4aac91049f8909e928580f9fb8b752ba748f4167 (patch)
tree3100acd79e0cf9e317878113207b0e942705a88c /src/os/win32
parent8b6f1c7bb064aa87ab83fbf3d8ed9f9e80e1b06b (diff)
downloadnginx-4aac91049f8909e928580f9fb8b752ba748f4167.tar.gz
nginx-4aac91049f8909e928580f9fb8b752ba748f4167.tar.bz2
Moved the code for adjusting sent buffers in a separate function.
Diffstat (limited to 'src/os/win32')
-rw-r--r--src/os/win32/ngx_wsasend_chain.c47
1 files changed, 2 insertions, 45 deletions
diff --git a/src/os/win32/ngx_wsasend_chain.c b/src/os/win32/ngx_wsasend_chain.c
index fa7377607..a818fe1f9 100644
--- a/src/os/win32/ngx_wsasend_chain.c
+++ b/src/os/win32/ngx_wsasend_chain.c
@@ -119,29 +119,7 @@ ngx_wsasend_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
c->sent += sent;
- for (cl = in; cl; cl = cl->next) {
-
- if (ngx_buf_special(cl->buf)) {
- continue;
- }
-
- if (sent == 0) {
- break;
- }
-
- size = cl->buf->last - cl->buf->pos;
-
- if (sent >= size) {
- sent -= size;
- cl->buf->pos = cl->buf->last;
-
- continue;
- }
-
- cl->buf->pos += sent;
-
- break;
- }
+ cl = ngx_handle_sent_chain(in, sent);
if (!complete) {
wev->ready = 0;
@@ -308,28 +286,7 @@ ngx_overlapped_wsasend_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
c->sent += sent;
- for (cl = in; cl && sent > 0; cl = cl->next) {
- if (ngx_buf_special(cl->buf)) {
- continue;
- }
-
- if (sent == 0) {
- break;
- }
-
- size = cl->buf->last - cl->buf->pos;
-
- if (sent >= size) {
- sent -= size;
- cl->buf->pos = cl->buf->last;
-
- continue;
- }
-
- cl->buf->pos += sent;
-
- break;
- }
+ cl = ngx_handle_sent_chain(in, sent);
if (cl) {
wev->ready = 0;