# HG changeset patch # User Kim Alvefur # Date 1537976213 -7200 # Node ID 33e52f727f0f7d71b89f0b7541851dd682b423a5 # Parent 0f395d82b4ea7ab24489cc3905fd79c589bda246 net.connect: Fix passing request table to new listener This could be a return value from ondetach diff -r 0f395d82b4ea -r 33e52f727f0f net/connect.lua --- a/net/connect.lua Wed Sep 26 15:07:25 2018 +0200 +++ b/net/connect.lua Wed Sep 26 17:36:53 2018 +0200 @@ -56,7 +56,7 @@ end pending_connections_map[conn] = nil; p:log("debug", "Successfully connected"); - conn:setlistener(p.listeners); + conn:setlistener(p.listeners, p.data); return p.listeners.onconnect(conn); end diff -r 0f395d82b4ea -r 33e52f727f0f net/server_epoll.lua --- a/net/server_epoll.lua Wed Sep 26 15:07:25 2018 +0200 +++ b/net/server_epoll.lua Wed Sep 26 17:36:53 2018 +0200 @@ -136,10 +136,10 @@ end -- Replace the listener and tell the old one -function interface:setlistener(listeners) +function interface:setlistener(listeners, data) self:on("detach"); self.listeners = listeners; - self:on("attach"); + self:on("attach", data); end -- Call a listener callback diff -r 0f395d82b4ea -r 33e52f727f0f net/server_event.lua --- a/net/server_event.lua Wed Sep 26 15:07:25 2018 +0200 +++ b/net/server_event.lua Wed Sep 26 17:36:53 2018 +0200 @@ -415,7 +415,7 @@ return false, "setoption not implemented"; end -function interface_mt:setlistener(listener) +function interface_mt:setlistener(listener, data) self:ondetach(); -- Notify listener that it is no longer responsible for this connection self.onconnect = listener.onconnect; self.ondisconnect = listener.ondisconnect; @@ -426,7 +426,7 @@ self.ondetach = listener.ondetach; self.onattach = listener.onattach; self.ondrain = listener.ondrain; - self:onattach(); + self:onattach(data); end -- Stub handlers diff -r 0f395d82b4ea -r 33e52f727f0f net/server_select.lua --- a/net/server_select.lua Wed Sep 26 15:07:25 2018 +0200 +++ b/net/server_select.lua Wed Sep 26 17:36:53 2018 +0200 @@ -321,7 +321,7 @@ end handler.onreadtimeout = onreadtimeout; - handler.setlistener = function( self, listeners ) + handler.setlistener = function( self, listeners, data ) if detach then detach(self) -- Notify listener that it is no longer responsible for this connection end @@ -332,7 +332,7 @@ handler.onreadtimeout = listeners.onreadtimeout detach = listeners.ondetach if listeners.onattach then - listeners.onattach(self) + listeners.onattach(self, data) end end handler.getstats = function( )