aboutsummaryrefslogtreecommitdiffstats
path: root/net/server_select.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2013-06-29 14:45:47 +0100
committerMatthew Wild <mwild1@gmail.com>2013-06-29 14:45:47 +0100
commit1ff17bd2f363d64e96b5f55c40da0768eb2931a0 (patch)
tree27741db74d498be76001287c8a4e6a9076bb5a27 /net/server_select.lua
parentd9d3fda27d4cbd522bbf2b53bb22c7659020a0c7 (diff)
parent237fbdb8e53b39063c1df36d94f59695d80c2de2 (diff)
downloadprosody-1ff17bd2f363d64e96b5f55c40da0768eb2931a0.tar.gz
prosody-1ff17bd2f363d64e96b5f55c40da0768eb2931a0.zip
Merge
Diffstat (limited to 'net/server_select.lua')
-rw-r--r--net/server_select.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/server_select.lua b/net/server_select.lua
index d0894715..98e9f847 100644
--- a/net/server_select.lua
+++ b/net/server_select.lua
@@ -145,7 +145,7 @@ _tcpbacklog = 128 -- some kind of hint to the OS
_maxsendlen = 51000 * 1024 -- max len of send buffer
_maxreadlen = 25000 * 1024 -- max len of read buffer
-_checkinterval = 1200000 -- interval in secs to check idle clients
+_checkinterval = 30 -- 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
@@ -863,16 +863,16 @@ loop = function(once) -- this is the main loop of the program
_starttime = _currenttime
for handler, timestamp in pairs( _writetimes ) do
if os_difftime( _currenttime - timestamp ) > _sendtimeout then
- --_writetimes[ handler ] = nil
handler.disconnect( )( handler, "send timeout" )
handler:force_close() -- forced disconnect
end
end
for handler, timestamp in pairs( _readtimes ) do
if os_difftime( _currenttime - timestamp ) > _readtimeout then
- --_readtimes[ handler ] = nil
- handler.disconnect( )( handler, "read timeout" )
- handler:close( ) -- forced disconnect?
+ if not(handler.onreadtimeout) or handler:onreadtimeout() ~= true then
+ handler.disconnect( )( handler, "read timeout" )
+ handler:close( ) -- forced disconnect?
+ end
end
end
end