annotate mod_traceback/mod_traceback.lua @ 5919:99ecfe44910b

mod_pubsub_serverinfo: Explicitly depend on mod_server_info Otherwise the pubsub node will not be advertised unless the admin explicitly loads that module, or another module that depends on it.
author Matthew Wild <mwild1@gmail.com>
date Fri, 07 Jun 2024 15:53:30 +0100
parents dde9d21a599f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2773
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 module:set_global();
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 local traceback = require "util.debug".traceback;
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
5851
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2773
diff changeset
5 local signal = module:get_option_string(module.name, "SIGUSR1");
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2773
diff changeset
6 module:hook("signal/" .. signal, function()
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2773
diff changeset
7 module:log("info", "Received %s, writing traceback", signal);
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2773
diff changeset
8 local f = io.open(prosody.paths.data .. "/traceback.txt", "a+");
2773
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 f:write(traceback(), "\n");
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 f:close();
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 end);
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12