From c0b2db7db29d6e3631c7799f636a8fbd7e4300c0 Mon Sep 17 00:00:00 2001
From: Bill Welliver <bill@welliver.org>
Date: Wed, 12 Sep 2012 21:06:17 -0400
Subject: [PATCH] Protocols.HTTP.Server: fix response processor that was
 randomly corrupting file responses.

---
 lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 af4a989e9d..32800ee72b 100644
--- a/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike
+++ b/lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike
@@ -703,7 +703,6 @@ void response_and_finish(mapping m, function|void _log_cb)
    }
 
    send_pos=0;
-   my_fd->set_nonblocking(send_read,send_write,send_close);
    send_stop=strlen(header)+m->size;
 
    if (m->file)
@@ -718,6 +717,7 @@ void response_and_finish(mapping m, function|void _log_cb)
       send_buf=send_buf[..send_stop-1];
 
    call_out(send_timeout,send_timeout_delay);
+   my_fd->set_nonblocking(send_read,send_write,send_close);
 }
 
 void finish(int clean)
-- 
GitLab