summaryrefslogtreecommitdiffstats
path: root/package/libtapi/src/events.c
diff options
context:
space:
mode:
Diffstat (limited to 'package/libtapi/src/events.c')
-rw-r--r--package/libtapi/src/events.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/package/libtapi/src/events.c b/package/libtapi/src/events.c
deleted file mode 100644
index 36e9b62a0..000000000
--- a/package/libtapi/src/events.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <stdbool.h>
-#include <sys/epoll.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-#include "events.h"
-
-struct event_callback *event_callbacks;
-
-static int event_epoll_fd = -1;
-
-int event_register(int fd, int events, struct event_callback *cb)
-{
- struct epoll_event ev;
-
- if (event_epoll_fd == -1)
- event_epoll_fd = epoll_create(1);
-
- ev.events = events;
- ev.data.ptr = cb;
-
- cb->fd = fd;
-
- return epoll_ctl(event_epoll_fd, EPOLL_CTL_ADD, fd, &ev);
-}
-
-int event_unregister(int fd)
-{
- return epoll_ctl(event_epoll_fd, EPOLL_CTL_DEL, fd, NULL);
-}
-
-int tapi_mainloop(void)
-{
- struct epoll_event ev[10];
- struct event_callback *cb;
- int ret;
- bool keep;
- int i;
-
- if (event_epoll_fd == -1)
- event_epoll_fd = epoll_create(1);
-
- while(true) {
- ret = epoll_wait(event_epoll_fd, ev, 10, -1);
- for(i = 0; i < ret; ++i) {
- cb = ev[i].data.ptr;
- keep = cb->callback(ev[i].events, cb->data);
- if (!keep)
- event_unregister(cb->fd);
- }
- if (ret < 0)
- printf("epoll: %d\n", errno);
- }
-
- return 0;
-}