- if not cachetime then
- for i,c in ipairs(controllers) do
- c = "luci.controller." .. c:sub(#path+1, #c-#suffix):gsub("/", ".")
- stat, mod = pcall(require, c)
+ for i,c in ipairs(controllers) do
+ local module = "luci.controller." .. c:sub(#path+1, #c-#suffix):gsub("/", ".")
+ local cachefile
+ local stime
+ local ctime
+
+ if cache then
+ cachefile = indexcache .. "/" .. module
+ stime = luci.fs.mtime(c) or 0
+ ctime = luci.fs.mtime(cachefile) or 0
+ end
+
+ if not cache or stime > ctime then
+ stat, mod = luci.util.copcall(require, module)