diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike index 7b101bf3f11163e5f6364522325d75d6972713d9..2128039ee77093eea7523cedeca35ff45d200c37 100644 --- a/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike +++ b/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike @@ -723,15 +723,14 @@ void send_write() } } } - else if (send_pos==sizeof(send_buf) && !send_fd) - { - finish(sent==send_stop); - return; - } int n=my_fd->write(send_buf[send_pos..]); + sent += n; send_pos+=n; + + if (send_pos==sizeof(send_buf) && !send_fd) + finish(sent==send_stop); } void send_timeout()