Merge 0.10->trunk
[prosody.git] / net / server_event.lua
index ba35ccdf29ded75c73d464223f06879c48af4e66..025e39498de7aaffee0defddc9c217a353c48f6a 100644 (file)
@@ -521,6 +521,10 @@ local function handleclient( client, ip, port, server, pattern, listener, sslctx
                                elseif interface.eventreadtimeout then
                                        return EV_WRITE, EV_TIMEOUT
                                end
+                               if interface.writebuffer ~= 0 then
+                                       -- data possibly written from ondrain
+                                       return EV_WRITE, cfg.WRITE_TIMEOUT
+                               end
                                interface.eventwrite = nil
                                return -1
                        elseif byte and (err == "timeout" or err == "wantwrite") then  -- want write again