diff src/core/ngx_hunk.c @ 151:2d9e4a8b6d11

nginx-0.0.1-2003-10-20-21:14:07 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 20 Oct 2003 17:14:07 +0000
parents da00cde00e8a
children c71aeb75c071
line wrap: on
line diff
--- a/src/core/ngx_hunk.c
+++ b/src/core/ngx_hunk.c
@@ -144,16 +144,31 @@ void ngx_chain_update_chains(ngx_chain_t
     *out = NULL;
 
     while (*busy) {
-        if ((*busy)->hunk->pos != (*busy)->hunk->last) {
+        if (ngx_hunk_size((*busy)->hunk) > 0) {
             break;
         }
+#if 0
+        if ((*busy)->hunk->type & NGX_HUNK_IN_MEMORY) {
+            if ((*busy)->hunk->pos != (*busy)->hunk->last) {
+                break;
+            }
+
+        } else {
+            if ((*busy)->hunk->file_pos != (*busy)->hunk->file_last) {
+                break;
+            }
+        }
+#endif
 
 #if (HAVE_WRITE_ZEROCOPY)
         if ((*busy)->hunk->type & NGX_HUNK_ZEROCOPY_BUSY) {
             break;
         }
 #endif
-        if (((*busy)->hunk->type & NGX_HUNK_TEMP) == 0) {
+
+        /* TODO: change to hunk->tag */
+
+        if (!((*busy)->hunk->type & NGX_HUNK_TEMP)) {
             *busy = (*busy)->next;
             continue;
         }