From 5f9fdc789ef2d3fe2da3d09e46279ea5c1a5113d Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Mon, 29 Apr 2013 20:26:48 +0500 Subject: net.server_select: Don't limit max file descriptor number on Windows. --- net/server_select.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/server_select.lua b/net/server_select.lua index bdf262ae..7eb330a8 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -149,7 +149,8 @@ _checkinterval = 1200000 -- interval in secs to check idle clients _sendtimeout = 60000 -- allowed send idle time in secs _readtimeout = 6 * 60 * 60 -- allowed read idle time in secs -_maxfd = luasocket._SETSIZE or 1024 -- We should ignore this on Windows. Perhaps by simply setting it to math.huge or something. +local is_windows = package.config:sub(1,1) == "\\" -- check the directory separator, to detemine whether this is Windows +_maxfd = luasocket._SETSIZE or (is_windows and math.huge) or 1024 -- max fd number, limit to 1024 by default to prevent glibc buffer overflow, but not on Windows _maxselectlen = luasocket._SETSIZE or 1024 -- But this still applies on Windows _maxsslhandshake = 30 -- max handshake round-trips -- cgit v1.2.3