util.signal: Add support for signalfd(2) on Linux
signalfd allows handling signal events using the same method as sockets,
via file descriptors. Thus all signal dispatch can go through the same
main event loop as everything else, removing need for thread-scary
signal handling where execution would just jump to the signal handler
regardless of the state of Lua, and needing to keep track of Lua
states/threads.
-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
local host = module:get_host();
local welcome_text = module:get_option_string("welcome_message", "Hello $username, welcome to the $host IM server!");
local st = require "prosody.util.stanza";
module:hook("user-registered",
function (user)
local welcome_stanza =
st.message({ to = user.username.."@"..user.host, from = host },
welcome_text:gsub("$(%w+)", user));
module:send(welcome_stanza);
module:log("debug", "Welcomed user %s@%s", user.username, user.host);
end);