src/server/daemon/protocol.c

changeset 433
39fe86ae4db0
parent 432
7c9137f9e7f9
child 513
9a49c245a49c
--- a/src/server/daemon/protocol.c	Sun Nov 13 10:57:38 2022 +0100
+++ b/src/server/daemon/protocol.c	Sun Nov 13 12:58:25 2022 +0100
@@ -385,6 +385,7 @@
     CxBuffer *buf = &writer->buf;
     
     // flush buffer to the socket
+    int ret = 0;
     while(buf->pos < buf->size) {
         int w = conn->write(conn, buf->space + buf->pos, buf->size - buf->pos);
         if(w <= 0) {
@@ -397,17 +398,20 @@
                     return 1;
                 }
             }
-            return -1;
+            ret = -1;
+            break;
         }
         buf->pos += w;
     }
      
-    writer->rq->senthdrs = 1;
+    if(ret == 0) {
+        writer->rq->senthdrs = 1;
+    }
     
     cxBufferDestroy(buf);
     pool_free(writer->sn->pool, writer);
     
-    return 0;
+    return ret;
 }
 
 

mercurial