view mod_traceback/mod_traceback.lua @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parents 7a4e8dbbd30d
children
line wrap: on
line source

module:set_global();

local traceback = require "util.debug".traceback;

require"util.signal".signal(module:get_option_string(module.name, "SIGUSR1"), function ()
	module:log("info", "Received SIGUSR1, writing traceback");
	local f = io.open(prosody.paths.data.."/traceback.txt", "a+");
	f:write(traceback(), "\n");
	f:close();
end);