Esempio n. 1
0
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;
}
Esempio n. 2
0
/*
  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;
}
Esempio n. 3
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);
  }
}