net.server_event: Re-add write event if writebuffer is non-empty after write (eg...
authorKim Alvefur <zash@zash.se>
Tue, 19 Apr 2016 15:24:00 +0000 (17:24 +0200)
committerKim Alvefur <zash@zash.se>
Tue, 19 Apr 2016 15:24:00 +0000 (17:24 +0200)
net/server_event.lua

index d505825dda68636187239957b33d02f32c94e652..1c6f154789d88b08011543cbb9c99bbdf96b2cc9 100644 (file)
@@ -548,6 +548,10 @@ do
                                        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