}
}
-int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
- lxc_mainloop_callback_t callback, void *data)
+int lxc_mainloop_add_handler_events(struct lxc_epoll_descr *descr, int fd,
+ int events,
+ lxc_mainloop_callback_t callback,
+ void *data)
{
__do_free struct mainloop_handler *handler = NULL;
__do_free struct lxc_list *item = NULL;
handler->fd = fd;
handler->data = data;
- ev.events = EPOLLIN;
+ ev.events = events;
ev.data.ptr = handler;
if (epoll_ctl(descr->epfd, EPOLL_CTL_ADD, fd, &ev) < 0)
return 0;
}
+int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
+ lxc_mainloop_callback_t callback, void *data)
+{
+ return lxc_mainloop_add_handler_events(descr, fd, EPOLLIN, callback,
+ data);
+}
+
int lxc_mainloop_del_handler(struct lxc_epoll_descr *descr, int fd)
{
struct mainloop_handler *handler;
extern int lxc_mainloop(struct lxc_epoll_descr *descr, int timeout_ms);
+extern int lxc_mainloop_add_handler_events(struct lxc_epoll_descr *descr,
+ int fd, int events,
+ lxc_mainloop_callback_t callback,
+ void *data);
extern int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
lxc_mainloop_callback_t callback,
void *data);