Mercurial > prosody-hg
diff net/server_epoll.lua @ 13441:6d96b6eeee5a
util.signal: Wrap signalfd in an userdatum for gc handling etc
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 24 Feb 2024 01:00:44 +0100 |
| parents | b27de3d2bad6 |
| children | 5c9df28a57bb |
line wrap: on
line diff
--- a/net/server_epoll.lua Sat Feb 24 00:20:35 2024 +0100 +++ b/net/server_epoll.lua Sat Feb 24 01:00:44 2024 +0100 @@ -1147,12 +1147,13 @@ local hook_signal; if have_signal and signal.signalfd then local function dispatch(self) - return self:on("signal", signal.signalfd_read(self:getfd())); + return self:on("signal", self.conn:read()); end function hook_signal(signum, cb) local watch = watchfd(signal.signalfd(signum), dispatch); watch.listeners = { onsignal = cb }; + watch.close = nil; -- revert to default return watch; end end
