aboutsummaryrefslogtreecommitdiffstats
path: root/net/server_select.lua
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2013-04-29 20:26:48 +0500
committerWaqas Hussain <waqas20@gmail.com>2013-04-29 20:26:48 +0500
commite7ac57cac62d2f5c730e0a7428d68a51d1d1a026 (patch)
treeb984916fef593a182cc599d1eec2535eac764009 /net/server_select.lua
parenteaf4462508016c6b5f9e750b13d77891a7b95c61 (diff)
downloadprosody-e7ac57cac62d2f5c730e0a7428d68a51d1d1a026.tar.gz
prosody-e7ac57cac62d2f5c730e0a7428d68a51d1d1a026.zip
net.server_select: Don't limit max file descriptor number on Windows.
Diffstat (limited to 'net/server_select.lua')
-rw-r--r--net/server_select.lua3
1 files changed, 2 insertions, 1 deletions
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