Beispiel #1
0
static void *signal_thread_func(void *data) {
  while (1) {
    siginfo_t siginfo;
    int ret;

    ret = sigwaitinfo(&signal_set, &siginfo);
    /* TODO: Print an error? */
    if (ret < 0)
      continue;

    signal_cb(&siginfo, signal_cbdata);
    /* Die on SIGTERM. */
    if (siginfo.si_signo == SIGTERM)
      break;
  }
  return NULL;
}
static void
signal_cb_uv(uv_signal_t *watcher, int signum)
{
	signal_cb(signum);
}
static void
signal_cb_ev(struct ev_loop *loop, struct ev_signal *watcher, int revents)
{
	signal_cb(watcher->signum);
}
static void
signal_cb_event(int fd, short event, void *arg)
{
	signal_cb((int)(lws_intptr_t)arg);
}