comparison net/server.lua @ 2435:1ab73691b58e

net.server: When libevent backend is in use, override signal.signal to use server.hook_signal
author Matthew Wild <mwild1@gmail.com>
date Sun, 10 Jan 2010 15:26:36 +0000
parents 27441b099984
children 625d02b2a1a0
comparison
equal deleted inserted replaced
2434:4403d4473783 2435:1ab73691b58e
21 -- called a function roughly every second 21 -- called a function roughly every second
22 local add_task = require "util.timer".add_task; 22 local add_task = require "util.timer".add_task;
23 function server.addtimer(f) 23 function server.addtimer(f)
24 return add_task(1, function (...) f(...); return 1; end); 24 return add_task(1, function (...) f(...); return 1; end);
25 end 25 end
26
27 -- Overwrite signal.signal() because we need to ask libevent to
28 -- handle them instead
29 local ok, signal = pcall(require, "util.signal");
30 if ok and signal then
31 local _signal_signal = signal.signal;
32 function signal.signal(signal_id, handler)
33 if type(signal_id) == "string" then
34 signal_id = signal[signal_id:upper()];
35 end
36 if type(signal_id) ~= "number" then
37 return false, "invalid-signal";
38 end
39 --_signal_signal(signal_id, handler);
40 return server.hook_signal(signal_id, handler);
41 end
42 end
26 else 43 else
27 server = require "net.server_select"; 44 server = require "net.server_select";
28 package.loaded["net.server"] = server; 45 package.loaded["net.server"] = server;
29 end 46 end
30 47