net/server_epoll.lua
changeset 11689 247561bf6fca
parent 11681 98bcc19361db
child 11690 f4c3dcc907d8
--- a/net/server_epoll.lua	Wed Jul 14 02:53:42 2021 +0200
+++ b/net/server_epoll.lua	Wed Jul 14 22:04:23 2021 +0200
@@ -281,9 +281,15 @@
 
 function interface:setoption(k, v)
 	-- LuaSec doesn't expose setoption :(
-	if self.conn.setoption then
-		self.conn:setoption(k, v);
+	local ok, ret, err = pcall(self.conn.setoption, self.conn, k, v);
+	if not ok then
+		self:noise("Setting option %q = %q failed: %s", k, v, ret);
+		return ok, ret;
+	elseif not ret then
+		self:noise("Setting option %q = %q failed: %s", k, v, err);
+		return ret, err;
 	end
+	return ret;
 end
 
 -- Timeout for detecting dead or idle sockets