Merge 0.9->0.10
[prosody.git] / net / server_event.lua
index 2edc9a0c30c5c6dbecb980f436f43ad2919172bf..a67d5afb83dd22371fd6fb95939a426c956bb30a 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