static void *oop_thread(void *args) { struct info_queue_t *iq = (struct info_queue_t *)args; struct oop_source_t *oop = oop_sys_new(); oop_add_fd(oop, iq->pipefd[PIPE_READ], OOP_READ, in_notify, iq); oop_run(oop, 0); oop_del(oop); return NULL; }
/* create a oop_event_context structure. */ static int oop_event_context_init(struct event_context *ev, void *private_data) { oop_source_sys *oop_sys = private_data; if (!oop_sys) { oop_sys = oop_sys_new(); if (!oop_sys) { return -1; } talloc_set_destructor(ev, oop_event_context_destructor); } ev->additional_data = oop_sys; return 0; }
static void create_oop_source(oop_source_sys **source_sys, oop_source **source) { /* Create the system event source */ *source_sys = oop_sys_new(); if (!*source_sys) { fprintf(stderr, "%s: can't create system event source: oop_sys_new() failed\n", prog_name); exit(1); } /* Get the system event registration interface */ *source = oop_sys_source(*source_sys); if (!*source) { fprintf(stderr, "%s: can't get registration interface: oop_sys_source() failed\n", prog_name); exit(1); } }