Skip to content

Commit

Permalink
mainloop: add lxc_mainloop_add_handler_events
Browse files Browse the repository at this point in the history
in order to be able to listen for EPOLLPRI

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
  • Loading branch information
Blub committed May 15, 2020
1 parent 94f544e commit 9d1c51d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/lxc/mainloop.c
Expand Up @@ -59,8 +59,10 @@ int lxc_mainloop(struct lxc_epoll_descr *descr, int timeout_ms)
}
}

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;
Expand All @@ -77,7 +79,7 @@ int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
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)
Expand All @@ -92,6 +94,13 @@ int lxc_mainloop_add_handler(struct lxc_epoll_descr *descr, int fd,
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;
Expand Down
4 changes: 4 additions & 0 deletions src/lxc/mainloop.h
Expand Up @@ -22,6 +22,10 @@ typedef int (*lxc_mainloop_callback_t)(int fd, uint32_t event, void *data,

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);
Expand Down

0 comments on commit 9d1c51d

Please sign in to comment.