Software / code / prosody
Comparison
net/server_select.lua @ 7323:a1570219b865
net.server_select: Remove do-nothing os_difftime calls [backported from trunk]
| author | daurnimator <quae@daurnimator.com> |
|---|---|
| date | Mon, 19 Jan 2015 14:01:11 -0500 |
| parent | 7098:5286e79c6829 |
| child | 7324:7e6409462f79 |
| child | 7468:2d38a2519d09 |
comparison
equal
deleted
inserted
replaced
| 7322:addf60d25356 | 7323:a1570219b865 |
|---|---|
| 36 local string = use "string" | 36 local string = use "string" |
| 37 local coroutine = use "coroutine" | 37 local coroutine = use "coroutine" |
| 38 | 38 |
| 39 --// lua lib methods //-- | 39 --// lua lib methods //-- |
| 40 | 40 |
| 41 local os_difftime = os.difftime | |
| 42 local math_min = math.min | 41 local math_min = math.min |
| 43 local math_huge = math.huge | 42 local math_huge = math.huge |
| 44 local table_concat = table.concat | 43 local table_concat = table.concat |
| 45 local string_sub = string.sub | 44 local string_sub = string.sub |
| 46 local coroutine_wrap = coroutine.wrap | 45 local coroutine_wrap = coroutine.wrap |
| 889 _closelist[ handler ] = nil; | 888 _closelist[ handler ] = nil; |
| 890 end | 889 end |
| 891 _currenttime = luasocket_gettime( ) | 890 _currenttime = luasocket_gettime( ) |
| 892 | 891 |
| 893 -- Check for socket timeouts | 892 -- Check for socket timeouts |
| 894 local difftime = os_difftime( _currenttime - _starttime ) | 893 if _currenttime - _starttime > _checkinterval then |
| 895 if difftime > _checkinterval then | |
| 896 _starttime = _currenttime | 894 _starttime = _currenttime |
| 897 for handler, timestamp in pairs( _writetimes ) do | 895 for handler, timestamp in pairs( _writetimes ) do |
| 898 if os_difftime( _currenttime - timestamp ) > _sendtimeout then | 896 if _currenttime - timestamp > _sendtimeout then |
| 899 handler.disconnect( )( handler, "send timeout" ) | 897 handler.disconnect( )( handler, "send timeout" ) |
| 900 handler:force_close() -- forced disconnect | 898 handler:force_close() -- forced disconnect |
| 901 end | 899 end |
| 902 end | 900 end |
| 903 for handler, timestamp in pairs( _readtimes ) do | 901 for handler, timestamp in pairs( _readtimes ) do |
| 904 if os_difftime( _currenttime - timestamp ) > _readtimeout then | 902 if _currenttime - timestamp > _readtimeout then |
| 905 if not(handler.onreadtimeout) or handler:onreadtimeout() ~= true then | 903 if not(handler.onreadtimeout) or handler:onreadtimeout() ~= true then |
| 906 handler.disconnect( )( handler, "read timeout" ) | 904 handler.disconnect( )( handler, "read timeout" ) |
| 907 handler:close( ) -- forced disconnect? | 905 handler:close( ) -- forced disconnect? |
| 908 else | 906 else |
| 909 _readtimes[ handler ] = _currenttime -- reset timer | 907 _readtimes[ handler ] = _currenttime -- reset timer |