# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1537964759 -7200
# Node ID 58fe099043ed46cbe8809b48919c61b71ad2ee91
# Parent  5c8006ce8cb8ac86064d11972d68baea9d9cc137
net.server: Call a 'onattach' callback when replacing listeners

diff -r 5c8006ce8cb8 -r 58fe099043ed net/server_epoll.lua
--- a/net/server_epoll.lua	Wed Sep 26 14:57:09 2018 +0200
+++ b/net/server_epoll.lua	Wed Sep 26 14:25:59 2018 +0200
@@ -139,6 +139,7 @@
 function interface:setlistener(listeners)
 	self:on("detach");
 	self.listeners = listeners;
+	self:on("attach");
 end
 
 -- Call a listener callback
diff -r 5c8006ce8cb8 -r 58fe099043ed net/server_event.lua
--- a/net/server_event.lua	Wed Sep 26 14:57:09 2018 +0200
+++ b/net/server_event.lua	Wed Sep 26 14:25:59 2018 +0200
@@ -424,7 +424,9 @@
 	self.onreadtimeout = listener.onreadtimeout;
 	self.onstatus = listener.onstatus;
 	self.ondetach = listener.ondetach;
+	self.onattach = listener.onattach;
 	self.ondrain = listener.ondrain;
+	self:onattach();
 end
 
 -- Stub handlers
@@ -446,6 +448,8 @@
 end
 function interface_mt:ondetach()
 end
+function interface_mt:onattach()
+end
 function interface_mt:onstatus()
 end
 
diff -r 5c8006ce8cb8 -r 58fe099043ed net/server_select.lua
--- a/net/server_select.lua	Wed Sep 26 14:57:09 2018 +0200
+++ b/net/server_select.lua	Wed Sep 26 14:25:59 2018 +0200
@@ -331,6 +331,9 @@
 		drain = listeners.ondrain
 		handler.onreadtimeout = listeners.onreadtimeout
 		detach = listeners.ondetach
+		if listeners.onattach then
+			listeners.onattach(self)
+		end
 	end
 	handler.getstats = function( )
 		return readtraffic, sendtraffic