diff options
Diffstat (limited to '')
| -rw-r--r-- | src/event/ngx_event.h | 3 | ||||
| -rw-r--r-- | src/event/ngx_event_write.c | 15 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h index bf19f6c2f..7ac88051c 100644 --- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -106,6 +106,9 @@ NGX_AIO_EVENT overlapped, aio_read, aioread #ifndef HAVE_CLEAR_EVENT #define HAVE_CLEAR_EVENT 1 +#endif + +#if (HAVE_CLEAR_EVENT) #define NGX_CLEAR_EVENT EV_CLEAR #endif diff --git a/src/event/ngx_event_write.c b/src/event/ngx_event_write.c index 97c082771..ccbb1579b 100644 --- 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_connection_t *c, ngx_chain_t *in, (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); + + sent = rc > 0 ? rc: 0; - sendv_sent = 0; - rc = ngx_sendv(c->fd, (ngx_iovec_t *) header->elts, - header->nelts, &sendv_sent); - sent = sendv_sent; 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 *) -1; + return (ngx_chain_t *) NGX_ERROR; - c->sent = sent; + c->sent += sent; flush -= sent; for (ch = in; ch; ch = ch->next) { |
