sd_event* loop;
};
-static int nw_daemon_terminate(sd_event_source* source, const struct signalfd_siginfo* si,
+static int __nw_daemon_terminate(sd_event_source* source, const struct signalfd_siginfo* si,
void* data) {
DEBUG("Received signal to terminate...\n");
return sd_event_exit(sd_event_source_get_event(source), 0);
}
-static int nw_daemon_reload(sd_event_source* source, const struct signalfd_siginfo* si,
+static int __nw_daemon_reload(sd_event_source* source, const struct signalfd_siginfo* si,
void* data) {
+ struct nw_daemon* daemon = (struct nw_daemon*)daemon;
+
DEBUG("Received signal to reload...\n");
- // TODO
+ // Reload the daemon
+ nw_daemon_reload(daemon);
return 0;
}
// Listen for SIGTERM
r = sd_event_add_signal(daemon->loop, NULL, SIGTERM|SD_EVENT_SIGNAL_PROCMASK,
- nw_daemon_terminate, daemon);
+ __nw_daemon_terminate, daemon);
if (r < 0) {
ERROR("Could not register handling SIGTERM: %s\n", strerror(-r));
return 1;
// Listen for SIGINT
r = sd_event_add_signal(daemon->loop, NULL, SIGINT|SD_EVENT_SIGNAL_PROCMASK,
- nw_daemon_terminate, daemon);
+ __nw_daemon_terminate, daemon);
if (r < 0) {
ERROR("Could not register handling SIGINT: %s\n", strerror(-r));
return 1;
// Listen for SIGHUP
r = sd_event_add_signal(daemon->loop, NULL, SIGHUP|SD_EVENT_SIGNAL_PROCMASK,
- nw_daemon_reload, daemon);
+ __nw_daemon_reload, daemon);
if (r < 0) {
ERROR("Could not register handling SIGHUP: %s\n", strerror(-r));
return 1;
return 0;
}
+
+int nw_daemon_reload(struct nw_daemon* daemon) {
+ DEBUG("Reloading daemon...\n");
+
+ // XXX TODO
+
+ return 0;
+}