Coding With Libevent Timeouts: Timeouts are just wrappers for regular event functions using EV_TIMEOUT. evtimer_set(&delay->timeout, honeyd_delay_cb, delay); timerclear(&tv); tv.tv_sec = ms / 1000; tv.tv_usec = (ms % 1000) * 1000; evtimer_add(&delay->timeout, &tv); Signals: Permits safe signal handlers. No restriction to functions that may be called. signal_set(&sigint_ev, SIGINT, honeyd_signal, NULL); signal_add(&sigint_ev, NULL);