int sigint_handler(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata);
int sigint_handler(sd_event_source *s,
- const struct signalfd_siginfo *si,
- void *userdata)
+ const struct signalfd_siginfo *si,
+ void *userdata)
{
- sd_event* loop = userdata;
- sd_event_exit(loop, 0);
- terminate = 1;
- return 0;
+ sd_event* loop = userdata;
+ sd_event_exit(loop, 0);
+ terminate = 1;
+ return 0;
}
static int parse_argv(int ac, char* av[]) {
- int c, r;
- enum {
- ARG_LOG_LEVEL = 0x100,
- };
- static const struct option options[] = {
- {"log-level", required_argument, NULL, ARG_LOG_LEVEL},
- {}
- };
-
- while ((c = getopt_long(ac, av, "D", options, NULL)) >= 0) {
- switch (c) {
-
- case ARG_LOG_LEVEL:
- r = log_parse_level_name(optarg);
- if (r < 0) {
- fprintf(stderr, "Unknown log level: \"%s\"\n", optarg);
- return r;
- }
- log_set_max_level(r);
- break;
-
- case 'D':
- log_set_max_level(LOG_DEBUG);
- break;
-
- default:
- return -EINVAL;
- }
- }
- return 0;
+ int c, r;
+ enum {
+ ARG_LOG_LEVEL = 0x100,
+ };
+ static const struct option options[] = {
+ {"log-level", required_argument, NULL, ARG_LOG_LEVEL},
+ {}
+ };
+
+ while ((c = getopt_long(ac, av, "D", options, NULL)) >= 0) {
+ switch (c) {
+
+ case ARG_LOG_LEVEL:
+ r = log_parse_level_name(optarg);
+ if (r < 0) {
+ fprintf(stderr, "Unknown log level: \"%s\"\n", optarg);
+ return r;
+ }
+ log_set_max_level(r);
+ break;
+
+ case 'D':
+ log_set_max_level(LOG_DEBUG);
+ break;
+
+ default:
+ return -EINVAL;
+ }
+ }
+ return 0;
}
int main(int ac, char* av[])
{
- int aufd;
- int rc;
- sd_bus *bus = NULL;
- sd_event* loop;
- sigset_t ss;
-
- rc = parse_argv(ac, av);
- if (rc < 0) {
- fprintf(stderr, "Failed to parse command line options: %s\n", strerror(-rc));
- return -1;
- }
-
- rc = sd_bus_default_system(&bus);
- if (rc < 0) {
- log_error_errno(rc, "Failed to acquire the defult system bus connection: %m");
- return -1;
- }
-
- rc = sd_event_new(&loop);
- if (rc < 0) {
- log_error_errno(rc, "Failed to allocate the event loop.");
- return -1;
- }
-
- /* If there is way to register a catch-all handler */
- /* sd_bus_attach_event(bus, loop, SD_EVENT_PRIORITY_NORMAL); */
- sigemptyset(&ss);
- sigaddset(&ss, SIGINT);
- rc = sigprocmask(SIG_BLOCK, &ss, NULL);
- rc = sd_event_add_signal(loop, NULL, SIGINT, sigint_handler, loop);
-
-
- aufd = faultd_audit_init(loop);
- faultd_systemd_init(loop);
- printf("Hello world!\n");
-
- sd_event_loop(loop);
-
- faultd_audit_close(aufd);
- faultd_systemd_close();
-
- sd_bus_close(bus);
- return 0;
+ int aufd;
+ int rc;
+ sd_bus *bus = NULL;
+ sd_event* loop;
+ sigset_t ss;
+
+ rc = parse_argv(ac, av);
+ if (rc < 0) {
+ fprintf(stderr, "Failed to parse command line options: %s\n", strerror(-rc));
+ return -1;
+ }
+
+ rc = sd_bus_default_system(&bus);
+ if (rc < 0) {
+ log_error_errno(rc, "Failed to acquire the defult system bus connection: %m");
+ return -1;
+ }
+
+ rc = sd_event_new(&loop);
+ if (rc < 0) {
+ log_error_errno(rc, "Failed to allocate the event loop.");
+ return -1;
+ }
+
+ /* If there is way to register a catch-all handler */
+ /* sd_bus_attach_event(bus, loop, SD_EVENT_PRIORITY_NORMAL); */
+ sigemptyset(&ss);
+ sigaddset(&ss, SIGINT);
+ rc = sigprocmask(SIG_BLOCK, &ss, NULL);
+ rc = sd_event_add_signal(loop, NULL, SIGINT, sigint_handler, loop);
+
+
+ aufd = faultd_audit_init(loop);
+ faultd_systemd_init(loop);
+ printf("Hello world!\n");
+
+ sd_event_loop(loop);
+
+ faultd_audit_close(aufd);
+ faultd_systemd_close();
+
+ sd_bus_close(bus);
+ return 0;
}