# HG changeset patch # User Kim Alvefur # Date 1630407824 -7200 # Node ID 6427e26429763dc6d5d5e25aad697793f20de232 # Parent a8760562a096a6d7d56c6f41163398bfe4ae8761# Parent a8c9a78c6a4b5390e61adeb0aef45ea8828c156a Merge 0.11->trunk diff -r a8760562a096 -r 6427e2642976 net/server_epoll.lua --- a/net/server_epoll.lua Mon Aug 30 15:22:01 2021 +0200 +++ b/net/server_epoll.lua Tue Aug 31 13:03:44 2021 +0200 @@ -155,8 +155,8 @@ end if readd then - for _, timer in pairs(readd) do - timers:insert(timer[1], timer[2]); + for id, timer in pairs(readd) do + timers:insert(timer[1], timer[2], id); end peek = timers:peek(); end @@ -489,9 +489,9 @@ if ok then self:set(nil, false); if cfg.keep_buffers and type(buffer) == "table" then - for i = #buffer, 1, -1 do - buffer[i] = nil; - end + for i = #buffer, 1, -1 do + buffer[i] = nil; + end else self.writebuffer = nil; end @@ -501,10 +501,10 @@ elseif partial then self:debug("Sent %d out of %d buffered bytes", partial, #data); if cfg.keep_buffers and type(buffer) == "table" then - buffer[1] = data:sub(partial+1); - for i = #buffer, 2, -1 do - buffer[i] = nil; - end + buffer[1] = data:sub(partial+1); + for i = #buffer, 2, -1 do + buffer[i] = nil; + end else self.writebuffer = data:sub(partial+1); end @@ -546,9 +546,9 @@ local ret, err = self:onwritable(); self._opportunistic_write = nil; return ret, err; - end - self:setwritetimeout(); - self:set(nil, true); + end + self:setwritetimeout(); + self:set(nil, true); end return #data; end @@ -616,21 +616,21 @@ function interface:inittls(tls_ctx, now) if self._tls then return end if tls_ctx then self.tls_ctx = tls_ctx; end - self._tls = true; + self._tls = true; self:debug("Starting TLS now"); self:updatenames(); -- Can't getpeer/sockname after wrap() - local ok, conn, err = pcall(luasec.wrap, self.conn, self.tls_ctx); - if not ok then - conn, err = ok, conn; + local ok, conn, err = pcall(luasec.wrap, self.conn, self.tls_ctx); + if not ok then + conn, err = ok, conn; self:debug("Failed to initialize TLS: %s", err); - end - if not conn then - self:on("disconnect", err); - self:destroy(); - return conn, err; - end - conn:settimeout(0); - self.conn = conn; + end + if not conn then + self:on("disconnect", err); + self:destroy(); + return conn, err; + end + conn:settimeout(0); + self.conn = conn; if conn.sni then if self.servername then conn:sni(self.servername); @@ -650,9 +650,9 @@ conn:settlsa(tlsa.use, tlsa.select, tlsa.match, tlsa.data); end end - end - self:on("starttls"); - self.ondrain = nil; + end + self:on("starttls"); + self.ondrain = nil; self.onwritable = interface.tlshandshake; self.onreadable = interface.tlshandshake; if now then @@ -961,10 +961,10 @@ from:debug("Linking to %s", to.id); function from:onincoming(data) self:pause(); - to:write(data); + to:write(data); end function to:ondrain() -- luacheck: ignore 212/self - from:resume(); + from:resume(); end from:set_mode(read_size); from:set(true, nil);