From 974b9adbc8759a4a2a32787f0314ab178995a32c Mon Sep 17 00:00:00 2001 From: rebecca Date: Sat, 26 Sep 2026 19:17:36 +0100 Subject: add hup loop --- main.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'main.lua') diff --git a/main.lua b/main.lua index 3e47b13..103a18c 100644 --- a/main.lua +++ b/main.lua @@ -1,4 +1,5 @@ local cqueues = require'cqueues' +local signal = require'cqueues.signal' local class = require'r.class' local pprint = require'pprint' @@ -46,9 +47,8 @@ function Wilson.make(cls, conf) return self end -function Wilson.add_channels_for(self, pylon, busses) +function Wilson.add_channels_for(self, pylon) if not pylon.channels then return end - busses = busses or self.busses for busname, bus in pairs(busses) do for _, channel in ipairs(bus) do if channel.pylon == pylon @@ -77,9 +77,19 @@ function Wilson.run(self) self.log("now running pylon", pylonname) end self.cq:wrap(self.store.run, self.store) + self.cq:wrap(self.hup, self) self.log:loop(self.cq) end +function Wilson.hup(self) + signal.block(signal.SIGHUP) + local sl = signal.listen(signal.SIGHUP) + while true do + local s = sl:wait() + self:reload_config() + end +end + local config_file = assert(io.open("wilson.ini","r")) local conf = config.parse(config_file) config_file:close() -- cgit v1.2.3