Mercurial > hg > nginx
diff src/event/ngx_event_write.c @ 3:34a521b1a148
nginx-0.0.1-2002-08-20-18:48:28 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 20 Aug 2002 14:48:28 +0000 |
parents | d220029ac7f3 |
children | 708f8bb772ec |
line wrap: on
line diff
--- a/src/event/ngx_event_write.c +++ b/src/event/ngx_event_write.c @@ -99,6 +99,7 @@ ngx_chain_t *ngx_event_write(ngx_connect } else { rc = ngx_sendv(cn->fd, (ngx_iovec_t *) header->elts, header->nelts, (size_t *) &sent); + ngx_log_debug(cn->log, "sendv: %d" _ sent); } #if (HAVE_MAX_SENDFILE_IOVEC) } @@ -110,14 +111,26 @@ ngx_chain_t *ngx_event_write(ngx_connect flush -= sent; - for (ch = in; ch && !(ch->hunk->type & NGX_HUNK_LAST); ch = ch->next) { + for (ch = in; ch; ch = ch->next) { if (sent >= ch->hunk->last.file - ch->hunk->pos.file) { sent -= ch->hunk->last.file - ch->hunk->pos.file; ch->hunk->last.file = ch->hunk->pos.file; - continue; + + ngx_log_debug(cn->log, "event write: %qx 0" _ + ch->hunk->pos.file); + + if (ch->hunk->type & NGX_HUNK_LAST) + break; + + continue; } ch->hunk->pos.file += sent; + + ngx_log_debug(cn->log, "event write: %qx %qd" _ + ch->hunk->pos.file _ + ch->hunk->last.file - ch->hunk->pos.file); + break; }