diff options
author | Igor Sysoev <igor@sysoev.ru> | 2003-05-21 13:28:21 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2003-05-21 13:28:21 +0000 |
commit | fa73aac7747c9d0a8575eb2beffcdab50171e006 (patch) | |
tree | d1e354f2e321b8f1c4e5518984759bab1ae05ddd /src/os/unix/ngx_aio_write_chain.c | |
parent | 1c13c662f0ae8066d1d4849b4158d7459a4c7822 (diff) | |
download | nginx-fa73aac7747c9d0a8575eb2beffcdab50171e006.tar.gz nginx-fa73aac7747c9d0a8575eb2beffcdab50171e006.zip |
nginx-0.0.1-2003-05-21-17:28:21 import
Diffstat (limited to 'src/os/unix/ngx_aio_write_chain.c')
-rw-r--r-- | src/os/unix/ngx_aio_write_chain.c | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/src/os/unix/ngx_aio_write_chain.c b/src/os/unix/ngx_aio_write_chain.c index 34c4f4016..14586ce40 100644 --- a/src/os/unix/ngx_aio_write_chain.c +++ b/src/os/unix/ngx_aio_write_chain.c @@ -1,14 +1,7 @@ #include <ngx_config.h> - #include <ngx_core.h> -#include <ngx_types.h> -#include <ngx_alloc.h> -#include <ngx_array.h> -#include <ngx_hunk.h> -#include <ngx_connection.h> -#include <ngx_sendv.h> -#include <ngx_sendfile.h> +#include <ngx_aio.h> ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in) @@ -25,19 +18,19 @@ ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in) while (ce) { -ngx_log_debug(c->log, "aio_write ce: %x" _ ce->hunk->pos.mem); +ngx_log_debug(c->log, "aio_write ce: %x" _ ce->hunk->pos); - buf = prev = ce->hunk->pos.mem; + buf = prev = ce->hunk->pos; size = 0; /* coalesce the neighbouring chain entries */ - while (ce && prev == ce->hunk->pos.mem) { - size += ce->hunk->last.mem - ce->hunk->pos.mem; - prev = ce->hunk->last.mem; + while (ce && prev == ce->hunk->pos) { + size += ce->hunk->last - ce->hunk->pos; + prev = ce->hunk->last; ce = ce->next; } - rc = ngx_event_aio_write(c, buf, size); + rc = ngx_aio_write(c, buf, size); ngx_log_debug(c->log, "aio_write rc: %d" _ rc); @@ -62,27 +55,27 @@ ngx_log_debug(c->log, "aio_write rc: %d" _ rc); #if (NGX_DEBUG_WRITE_CHAIN) ngx_log_debug(c->log, "write chain: %x %qx %qd" _ ce->hunk->type _ - ce->hunk->pos.file _ - ce->hunk->last.file - ce->hunk->pos.file); + ce->hunk->file_pos _ + ce->hunk->file_last - ce->hunk->file_pos); #endif - if (sent >= ce->hunk->last.file - ce->hunk->pos.file) { - sent -= ce->hunk->last.file - ce->hunk->pos.file; - ce->hunk->pos.file = ce->hunk->last.file; + if (sent >= ce->hunk->file_last - ce->hunk->file_pos) { + sent -= ce->hunk->file_last - ce->hunk->file_pos; + ce->hunk->file_pos = ce->hunk->file_last; #if (NGX_DEBUG_WRITE_CHAIN) ngx_log_debug(c->log, "write chain done: %qx %qd" _ - ce->hunk->pos.file _ sent); + ce->hunk->file_pos _ sent); #endif continue; } - ce->hunk->pos.file += sent; + ce->hunk->file_pos += sent; #if (NGX_DEBUG_WRITE_CHAIN) ngx_log_debug(c->log, "write chain rest: %qx %qd" _ - ce->hunk->pos.file _ - ce->hunk->last.file - ce->hunk->pos.file); + ce->hunk->file_pos _ + ce->hunk->file_last - ce->hunk->file_pos); #endif break; |