mod_smacks: Fix timer lifetimes to follow session instead of module
module:add_timer() creates a timer that stops working after the module
is reloaded or unloaded, in order to prevent leaks. However, when the
timers control vital session behavior, breakage occurs after reload.
E.g. sessions would stop requesting acks and stop responding to acks.
-- Enables SQL query logging
--
-- luacheck: ignore 213/uri
module:set_global();
local engines = module:shared("/*/sql/connections");
for uri, engine in pairs(engines) do
engine:debug(true);
end
setmetatable(engines, {
__newindex = function (t, uri, engine)
engine:debug(true);
rawset(t, uri, engine);
end
});
function module.unload()
setmetatable(engines, nil);
for uri, engine in pairs(engines) do
engine:debug(false);
end
end