Mercurial > prosody-hg
comparison net/server_epoll.lua @ 13447:5c9df28a57bb
net.server_epoll: Log failure to hook signals
To make any such failures noticeable
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 28 Feb 2024 22:24:09 +0100 |
| parents | 6d96b6eeee5a |
| children | f36e1e1b84fe |
comparison
equal
deleted
inserted
replaced
| 13446:dba7073f1452 | 13447:5c9df28a57bb |
|---|---|
| 1149 local function dispatch(self) | 1149 local function dispatch(self) |
| 1150 return self:on("signal", self.conn:read()); | 1150 return self:on("signal", self.conn:read()); |
| 1151 end | 1151 end |
| 1152 | 1152 |
| 1153 function hook_signal(signum, cb) | 1153 function hook_signal(signum, cb) |
| 1154 local watch = watchfd(signal.signalfd(signum), dispatch); | 1154 local sigfd = signal.signalfd(signum); |
| 1155 if not sigfd then | |
| 1156 log("error", "Could not hook signal %d", signum); | |
| 1157 return nil, "failed"; | |
| 1158 end | |
| 1159 local watch = watchfd(sigfd, dispatch); | |
| 1155 watch.listeners = { onsignal = cb }; | 1160 watch.listeners = { onsignal = cb }; |
| 1156 watch.close = nil; -- revert to default | 1161 watch.close = nil; -- revert to default |
| 1157 return watch; | 1162 return watch; |
| 1158 end | 1163 end |
| 1159 end | 1164 end |
