|
|
|
@ -171,10 +171,11 @@ static int io_events_to_libev(int events) {
|
|
|
|
|
return revents;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_io_init(liEventLoop *loop, liEventIO *io, liEventCallback callback, int fd, int events) {
|
|
|
|
|
void li_event_io_init(liEventLoop *loop, const char *event_name, liEventIO *io, liEventCallback callback, int fd, int events) {
|
|
|
|
|
memset(io, 0, sizeof(*io));
|
|
|
|
|
io->base.type = LI_EVT_IO;
|
|
|
|
|
io->base.keep_loop_alive = 1;
|
|
|
|
|
io->base.event_name = event_name;
|
|
|
|
|
io->base.callback = callback;
|
|
|
|
|
io->events = events;
|
|
|
|
|
ev_init(&io->libevmess.w, NULL);
|
|
|
|
@ -251,10 +252,11 @@ static void event_timer_cb(struct ev_loop *loop, ev_timer *w, int revents) {
|
|
|
|
|
timer->base.callback(&timer->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_timer_init(liEventLoop *loop, liEventTimer *timer, liEventCallback callback) {
|
|
|
|
|
void li_event_timer_init(liEventLoop *loop, const char *event_name, liEventTimer *timer, liEventCallback callback) {
|
|
|
|
|
memset(timer, 0, sizeof(*timer));
|
|
|
|
|
timer->base.type = LI_EVT_TIMER;
|
|
|
|
|
timer->base.keep_loop_alive = 1;
|
|
|
|
|
timer->base.event_name = event_name;
|
|
|
|
|
timer->base.callback = callback;
|
|
|
|
|
ev_init(&timer->libevmess.w, NULL);
|
|
|
|
|
ev_set_cb(&timer->libevmess.timer, event_timer_cb);
|
|
|
|
@ -273,10 +275,11 @@ static void event_async_cb(struct ev_loop *loop, ev_async *w, int revents) {
|
|
|
|
|
async->base.callback(&async->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_async_init(liEventLoop *loop, liEventAsync *async, liEventCallback callback) {
|
|
|
|
|
void li_event_async_init(liEventLoop *loop, const char *event_name, liEventAsync *async, liEventCallback callback) {
|
|
|
|
|
memset(async, 0, sizeof(*async));
|
|
|
|
|
async->base.type = LI_EVT_ASYNC;
|
|
|
|
|
async->base.keep_loop_alive = 0;
|
|
|
|
|
async->base.event_name = event_name;
|
|
|
|
|
async->base.callback = callback;
|
|
|
|
|
ev_init(&async->libevmess.w, NULL);
|
|
|
|
|
ev_set_cb(&async->libevmess.async, event_async_cb);
|
|
|
|
@ -302,10 +305,11 @@ static void event_child_cb(struct ev_loop *loop, ev_child *w, int revents) {
|
|
|
|
|
child->base.callback(&child->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_child_init(liEventLoop *loop, liEventChild *child, liEventCallback callback, int pid) {
|
|
|
|
|
void li_event_child_init(liEventLoop *loop, const char *event_name, liEventChild *child, liEventCallback callback, int pid) {
|
|
|
|
|
memset(child, 0, sizeof(*child));
|
|
|
|
|
child->base.type = LI_EVT_CHILD;
|
|
|
|
|
child->base.keep_loop_alive = 1;
|
|
|
|
|
child->base.event_name = event_name;
|
|
|
|
|
child->base.callback = callback;
|
|
|
|
|
ev_init(&child->libevmess.w, NULL);
|
|
|
|
|
ev_child_set(&child->libevmess.child, pid, 0);
|
|
|
|
@ -326,10 +330,11 @@ static void event_signal_cb(struct ev_loop *loop, ev_signal *w, int revents) {
|
|
|
|
|
sig->base.callback(&sig->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_signal_init(liEventLoop *loop, liEventSignal *sig, liEventCallback callback, int signum) {
|
|
|
|
|
void li_event_signal_init(liEventLoop *loop, const char *event_name, liEventSignal *sig, liEventCallback callback, int signum) {
|
|
|
|
|
memset(sig, 0, sizeof(*sig));
|
|
|
|
|
sig->base.type = LI_EVT_SIGNAL;
|
|
|
|
|
sig->base.keep_loop_alive = 0;
|
|
|
|
|
sig->base.event_name = event_name;
|
|
|
|
|
sig->base.callback = callback;
|
|
|
|
|
ev_init(&sig->libevmess.w, NULL);
|
|
|
|
|
ev_signal_set(&sig->libevmess.sig, signum);
|
|
|
|
@ -350,10 +355,11 @@ static void event_prepare_cb(struct ev_loop *loop, ev_prepare *w, int revents) {
|
|
|
|
|
prepare->base.callback(&prepare->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_prepare_init(liEventLoop *loop, liEventPrepare *prepare, liEventCallback callback) {
|
|
|
|
|
void li_event_prepare_init(liEventLoop *loop, const char *event_name, liEventPrepare *prepare, liEventCallback callback) {
|
|
|
|
|
memset(prepare, 0, sizeof(*prepare));
|
|
|
|
|
prepare->base.type = LI_EVT_PREPARE;
|
|
|
|
|
prepare->base.keep_loop_alive = 0;
|
|
|
|
|
prepare->base.event_name = event_name;
|
|
|
|
|
prepare->base.callback = callback;
|
|
|
|
|
ev_init(&prepare->libevmess.w, NULL);
|
|
|
|
|
ev_set_cb(&prepare->libevmess.prepare, event_prepare_cb);
|
|
|
|
@ -373,10 +379,11 @@ static void event_check_cb(struct ev_loop *loop, ev_check *w, int revents) {
|
|
|
|
|
check->base.callback(&check->base, LI_EV_WAKEUP);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void li_event_check_init(liEventLoop *loop, liEventCheck *check, liEventCallback callback) {
|
|
|
|
|
void li_event_check_init(liEventLoop *loop, const char *event_name, liEventCheck *check, liEventCallback callback) {
|
|
|
|
|
memset(check, 0, sizeof(*check));
|
|
|
|
|
check->base.type = LI_EVT_CHECK;
|
|
|
|
|
check->base.keep_loop_alive = 0;
|
|
|
|
|
check->base.event_name = event_name;
|
|
|
|
|
check->base.callback = callback;
|
|
|
|
|
ev_init(&check->libevmess.w, NULL);
|
|
|
|
|
ev_set_cb(&check->libevmess.check, event_check_cb);
|
|
|
|
|