net/server_epoll.lua
changeset 9385 31a2be28729c
parent 9384 80be543a3785
child 9386 3260902a5b22
--- a/net/server_epoll.lua	Mon Sep 24 19:47:53 2018 +0200
+++ b/net/server_epoll.lua	Wed Sep 26 13:52:10 2018 +0200
@@ -501,11 +501,13 @@
 		tls_ctx = tls_ctx;
 	}, interface_mt);
 
-	if client.getpeername then
-		conn.peername, conn.peerport = client:getpeername();
+	local ok, peername, peerport = pcall(client.getpeername, client);
+	if ok then
+		conn.peername, conn.peerport = peername, peerport;
 	end
-	if client.getsockname then
-		conn.sockname, conn.sockport = client:getsockname();
+	local ok, sockname, sockport = pcall(client.getsockname, client);
+	if ok then
+		conn.sockname, conn.sockport = sockname, sockport;
 	end
 	return conn;
 end