Fixed io.lines() bug
In Lua 5.2 io.lines() has to be used to iterate until EOF, otherwise the fd will not be closed and eventually tons of naughty messages will start to pop up saying that no more fd can be opened. Signed-off-by: Arvydas Sidorenko <asido4@gmail.com> Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
This commit is contained in:
parent
8e35a983bf
commit
363c03e79c
|
@ -7,7 +7,7 @@
|
|||
|
||||
-- {{{ Grab environment
|
||||
local ipairs = ipairs
|
||||
local io = { lines = io.lines }
|
||||
local io = { open = io.open }
|
||||
local setmetatable = setmetatable
|
||||
local math = { floor = math.floor }
|
||||
local table = { insert = table.insert }
|
||||
|
@ -15,6 +15,7 @@ local string = {
|
|||
sub = string.sub,
|
||||
gmatch = string.gmatch
|
||||
}
|
||||
local naught = require("naughty")
|
||||
-- }}}
|
||||
|
||||
|
||||
|
@ -33,7 +34,8 @@ local function worker(format)
|
|||
local cpu_lines = {}
|
||||
|
||||
-- Get CPU stats
|
||||
for line in io.lines("/proc/stat") do
|
||||
local fd = io.open("/proc/stat")
|
||||
for line in fd:lines() do
|
||||
if string.sub(line, 1, 3) ~= "cpu" then break end
|
||||
|
||||
cpu_lines[#cpu_lines+1] = {}
|
||||
|
@ -42,6 +44,7 @@ local function worker(format)
|
|||
table.insert(cpu_lines[#cpu_lines], i)
|
||||
end
|
||||
end
|
||||
fd:close()
|
||||
|
||||
-- Ensure tables are initialized correctly
|
||||
for i = #cpu_total + 1, #cpu_lines do
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
-----------------------------------------------------
|
||||
|
||||
-- {{{ Grab environment
|
||||
local io = { lines = io.lines }
|
||||
local io = { open = io.open }
|
||||
local setmetatable = setmetatable
|
||||
local string = {
|
||||
len = string.len,
|
||||
|
@ -33,7 +33,8 @@ local function worker(format, warg)
|
|||
}
|
||||
|
||||
-- Linux manual page: md(4)
|
||||
for line in io.lines("/proc/mdstat") do
|
||||
local fd = io.open("/proc/mdstat")
|
||||
for line in fd:lines() do
|
||||
if mddev[warg]["found"] then
|
||||
local updev = string.match(line, "%[[_U]+%]")
|
||||
|
||||
|
@ -50,6 +51,7 @@ local function worker(format, warg)
|
|||
end
|
||||
end
|
||||
end
|
||||
fd:close()
|
||||
|
||||
return {mddev[warg]["assigned"], mddev[warg]["active"]}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue