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;
         }