Software /
code /
prosody
Comparison
net/server.lua @ 6485:4224abbf0fdd
net/server: Handle lack of util.signal correctly
author | daurnimator <quae@daurnimator.com> |
---|---|
date | Wed, 22 Oct 2014 16:00:40 -0400 |
parent | 6484:913585bca01f |
child | 7099:8e64e7b82928 |
comparison
equal
deleted
inserted
replaced
6484:913585bca01f | 6485:4224abbf0fdd |
---|---|
64 else | 64 else |
65 error("Unsupported server type") | 65 error("Unsupported server type") |
66 end | 66 end |
67 | 67 |
68 -- If server.hook_signal exists, replace signal.signal() | 68 -- If server.hook_signal exists, replace signal.signal() |
69 local ok, signal = pcall(require, "util.signal"); | 69 local has_signal, signal = pcall(require, "util.signal"); |
70 if server.hook_signal then | 70 if has_signal then |
71 if ok then | 71 if server.hook_signal then |
72 function signal.signal(signal_id, handler) | 72 function signal.signal(signal_id, handler) |
73 if type(signal_id) == "string" then | 73 if type(signal_id) == "string" then |
74 signal_id = signal[signal_id:upper()]; | 74 signal_id = signal[signal_id:upper()]; |
75 end | 75 end |
76 if type(signal_id) ~= "number" then | 76 if type(signal_id) ~= "number" then |
77 return false, "invalid-signal"; | 77 return false, "invalid-signal"; |
78 end | 78 end |
79 return server.hook_signal(signal_id, handler); | 79 return server.hook_signal(signal_id, handler); |
80 end | 80 end |
81 else | |
82 server.hook_signal = signal.signal; | |
81 end | 83 end |
82 else | 84 else |
83 server.hook_signal = signal.signal; | 85 if not server.hook_signal then |
86 server.hook_signal = function() | |
87 return false, "signal hooking not supported" | |
88 end | |
89 end | |
84 end | 90 end |
85 | 91 |
86 if prosody then | 92 if prosody then |
87 local config_get = require "core.configmanager".get; | 93 local config_get = require "core.configmanager".get; |
88 local function load_config() | 94 local function load_config() |