From 04b12c371638b06ba91d6e003894d06257b7c479 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 16 Aug 2016 14:53:29 +0200 Subject: net.server_epoll: Clear write flag before calling ondrain, fixes calling of ondisconnect on explicit close --- net/server_epoll.lua | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'net') diff --git a/net/server_epoll.lua b/net/server_epoll.lua index fa79837d..f73b1a8c 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -250,13 +250,9 @@ function interface:onwriteable() for i = #buffer, 1, -1 do buffer[i] = nil; end - self:ondrain(); - if not buffer[1] then - self:setflags(nil, false); - self:setwritetimeout(false); - else - self:setwritetimeout(); - end + self:setflags(nil, false); + self:setwritetimeout(false); + self:ondrain(); -- Be aware of writes in ondrain elseif partial then buffer[1] = data:sub(partial+1) for i = #buffer, 2, -1 do -- cgit v1.2.3