Mercurial > hg > nginx
diff src/event/ngx_event_write.c @ 9:6f58641241bb
nginx-0.0.1-2002-09-07-14:14:25 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 07 Sep 2002 10:14:25 +0000 |
parents | 708f8bb772ec |
children | 53cb81681040 |
line wrap: on
line diff
--- a/src/event/ngx_event_write.c +++ b/src/event/ngx_event_write.c @@ -98,23 +98,20 @@ ngx_chain_t *ngx_event_write(ngx_connect (ngx_iovec_t *) trailer->elts, trailer->nelts, &sent, c->log); } else { - size_t sendv_sent; + rc = ngx_sendv(c, (ngx_iovec_t *) header->elts, + header->nelts); - sendv_sent = 0; - rc = ngx_sendv(c->fd, (ngx_iovec_t *) header->elts, - header->nelts, &sendv_sent); - sent = sendv_sent; + sent = rc > 0 ? rc: 0; + ngx_log_debug(c->log, "sendv: " QD_FMT _ sent); } #if (HAVE_MAX_SENDFILE_IOVEC) } #endif - /* save sent for logging */ + if (rc == NGX_ERROR) + return (ngx_chain_t *) NGX_ERROR; - if (rc == NGX_ERROR) - return (ngx_chain_t *) -1; - - c->sent = sent; + c->sent += sent; flush -= sent; for (ch = in; ch; ch = ch->next) {