From a507b09332b86bf4d83083859d569b1315ebad85 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Fri, 4 Mar 2016 21:28:22 -0800 Subject: [PATCH] Add/remove from epoll set. --- stutterfuzz.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/stutterfuzz.c b/stutterfuzz.c index 84e97fb..93be466 100644 --- a/stutterfuzz.c +++ b/stutterfuzz.c @@ -229,6 +229,13 @@ static void conn_new() { conn->file = file_next(); conn->offset = 0; list_add(&conn->conn_list, &conn_pending_head); + struct epoll_event ev = { + .events = EPOLLOUT, + .data = { + .ptr = conn, + }, + }; + assert(!epoll_ctl(epoll_fd, EPOLL_CTL_ADD, conn->fd, &ev)); open_conns++; } @@ -273,6 +280,7 @@ static void conn_check(struct conn *conn) { if (!error) { list_del(&conn->conn_list); list_add(&conn->conn_list, &conn_open_head); + assert(!epoll_ctl(epoll_fd, EPOLL_CTL_DEL, conn->fd, NULL)); return; } if (error == EINPROGRESS) {