From: Steven Barth Date: Tue, 1 Jul 2008 18:05:48 +0000 (+0000) Subject: * libs/httpd: Fixed a memleak X-Git-Tag: 0.8.0~720 X-Git-Url: http://git.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=a6619a5cb7a05e1e8c761b27f28ec2c5e791020a * libs/httpd: Fixed a memleak --- diff --git a/libs/httpd/luasrc/httpd.lua b/libs/httpd/luasrc/httpd.lua index 8b54f0e645..9263dcc6d8 100644 --- a/libs/httpd/luasrc/httpd.lua +++ b/libs/httpd/luasrc/httpd.lua @@ -87,7 +87,6 @@ end function step() local idle = true - if not THREAD_LIMIT or threadc < THREAD_LIMIT then local now = os.time() for i, server in ipairs(reading) do @@ -106,6 +105,8 @@ function step() if coroutine.status(thread) == "dead" then threads[client] = nil threadc = threadc - 1 + threadm[client] = nil + threadi[client] = nil elseif threadm[client] and threadm[client] + THREAD_TIMEOUT < now then threads[client] = nil threadc = threadc - 1 @@ -119,4 +120,4 @@ function step() if idle then socket.sleep(THREAD_IDLEWAIT) end -end \ No newline at end of file +end