#include <syslog.h>
#include "log.h"
+#include "module.h"
static int terminate = 0;
rc = sd_event_add_signal(loop, NULL, SIGINT, sigint_handler, loop);
- rc = faultd_modules_init();
+ rc = faultd_modules_init(loop);
if (rc < 0) {
log_error("Failed to initialize modules %d.", rc);
return -1;
static int audit_listener_init(struct faultd_module *module, sd_event *event)
{
- struct audit_listener alistener = to_audit_listener(module);
+ struct audit_listener *alistener = to_audit_listener(module);
int fd;
sd_event_source *event_source;
int ret;
static void audit_listener_cleanup(struct faultd_module *module)
{
- struct audit_listener alistener = to_audit_listener(module);
+ struct audit_listener *alistener = to_audit_listener(module);
int fd = alistener->audit_fd;
sd_event_source *event_source = alistener->event_source;
int ret;
log_error("Could not set pid (%d)", ret);
audit_close(fd);
- return 0;
}
struct audit_listener audit_listener = {
.init = audit_listener_init,
.cleanup = audit_listener_cleanup,
- .node = LIST_HEAD_INIT,
+ .node = LIST_HEAD_INIT(audit_listener.module.node),
},
.audit_fd = -1,
};
-FAULTD_MODULE_REGISTER(&audit_listener)
+FAULTD_MODULE_REGISTER(&audit_listener.module)
return 0;
}
-static void systemd_listener_cleanup()
+static void systemd_listener_cleanup(struct faultd_module *module)
{
sd_bus_error error = SD_BUS_ERROR_NULL;
sd_bus *bus = NULL;
},
};
-FAULTD_MODULE_REGISTER(&systemd_listener)
+FAULTD_MODULE_REGISTER(&systemd_listener.module)