Software /
code /
prosody
Diff
core/modulemanager.lua @ 9562:acf74ad0b795
Many things: switch from hacky multi-arg xpcall implementations to a standard util.xpcall
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 26 Oct 2018 19:32:00 +0100 |
parent | 8916:e727747279a0 |
child | 9563:732314eb3258 |
line wrap: on
line diff
--- a/core/modulemanager.lua Fri Oct 26 19:29:08 2018 +0100 +++ b/core/modulemanager.lua Fri Oct 26 19:32:00 2018 +0100 @@ -18,18 +18,13 @@ local prosody = prosody; local hosts = prosody.hosts; -local xpcall = xpcall; +local xpcall = require "util.xpcall".xpcall; local setmetatable, rawget = setmetatable, rawget; local ipairs, pairs, type, tostring, t_insert = ipairs, pairs, type, tostring, table.insert; local debug_traceback = debug.traceback; local select = select; local unpack = table.unpack or unpack; --luacheck: ignore 113 -local pcall = function(f, ...) - local n = select("#", ...); - local params = {...}; - return xpcall(function() return f(unpack(params, 1, n)) end, function(e) return tostring(e).."\n"..debug_traceback(); end); -end local autoload_modules = {prosody.platform, "presence", "message", "iq", "offline", "c2s", "s2s", "s2s_auth_certs"}; local component_inheritable_modules = {"tls", "saslauth", "dialback", "iq", "s2s"}; @@ -183,7 +178,7 @@ api_instance.path = err; modulemap[host][module_name] = pluginenv; - local ok, err = pcall(mod); + local ok, err = xpcall(mod, debug.traceback); if ok then -- Call module's "load" if module_has_method(pluginenv, "load") then