diff -r 7c9137f9e7f9 -r 39fe86ae4db0 src/server/daemon/protocol.c --- 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; }