aboutsummaryrefslogtreecommitdiff
path: root/eventloop.c
diff options
context:
space:
mode:
authorGuangxiong Lin <[email protected]>2022-12-01 23:40:27 +0800
committerGuangxiong Lin <[email protected]>2022-12-01 23:40:27 +0800
commit9bed42bfcdb548c2f097a7536d3fa6a4117b57e9 (patch)
treea2db57381d2ca395d7dad906ec77f02868214c04 /eventloop.c
parenta9501d10847d7993fad2e0778fe9c11317b4f7be (diff)
downloadtinyserver-9bed42bfcdb548c2f097a7536d3fa6a4117b57e9.tar.gz
tinyserver-9bed42bfcdb548c2f097a7536d3fa6a4117b57e9.tar.bz2
tinyserver-9bed42bfcdb548c2f097a7536d3fa6a4117b57e9.zip
Save sockets inside epoll data
Diffstat (limited to 'eventloop.c')
-rw-r--r--eventloop.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/eventloop.c b/eventloop.c
index f79114d..9a26b98 100644
--- a/eventloop.c
+++ b/eventloop.c
@@ -19,10 +19,7 @@ int eventLoopAddSocket(struct eventLoop *el, struct tsocket *sock, int flag)
{
struct epoll_event ev;
ev.events = flag;
- ev.data.fd = sock->fd;
-
- // TODO: How the fd ranges? Will it be larger than the MAX_EVENTS?
- el->socks[sock->fd] = sock;
+ ev.data.ptr = sock;
return epoll_ctl(el->epollfd, EPOLL_CTL_ADD, sock->fd, &ev);
}
@@ -34,6 +31,5 @@ int eventLoopWait(struct eventLoop *el, int timeout)
struct tsocket *eventLoopGetSocket(struct eventLoop *el, int index)
{
- int fd = el->events[index].data.fd;
- return el->socks[fd];
+ return (struct tsocket *)el->events[index].data.ptr;
}