equal
deleted
inserted
replaced
1145 end |
1145 end |
1146 |
1146 |
1147 local hook_signal; |
1147 local hook_signal; |
1148 if have_signal and signal.signalfd then |
1148 if have_signal and signal.signalfd then |
1149 local function dispatch(self) |
1149 local function dispatch(self) |
1150 return self:on("signal", signal.signalfd_read(self:getfd())); |
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 watch = watchfd(signal.signalfd(signum), dispatch); |
1155 watch.listeners = { onsignal = cb }; |
1155 watch.listeners = { onsignal = cb }; |
|
1156 watch.close = nil; -- revert to default |
1156 return watch; |
1157 return watch; |
1157 end |
1158 end |
1158 end |
1159 end |
1159 |
1160 |
1160 return { |
1161 return { |