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) {