diff options
| author | Valentin Bartenev <vbart@nginx.com> | 2014-08-13 15:11:45 +0400 |
|---|---|---|
| committer | Valentin Bartenev <vbart@nginx.com> | 2014-08-13 15:11:45 +0400 |
| commit | 4aac91049f8909e928580f9fb8b752ba748f4167 (patch) | |
| tree | 3100acd79e0cf9e317878113207b0e942705a88c /src/os/win32 | |
| parent | 8b6f1c7bb064aa87ab83fbf3d8ed9f9e80e1b06b (diff) | |
| download | nginx-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.c | 47 |
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; |
