+2004-11-09 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/engine_epoll.c (engine_delete): Do not attempt to remove a
+ socket from epoll on delete, since the kernel does that for us.
+
2004-11-07 Michael Poole <mdpoole@troilus.org>
* ircd/m_server.c (m_server, ms_server): Assign timestamp before
static void
engine_delete(struct Socket *sock)
{
- struct epoll_event evt;
-
assert(0 != sock);
- memset(&evt, 0, sizeof(evt));
Debug((DEBUG_ENGINE, "epoll: Deleting socket %d [%p], state %s",
s_fd(sock), sock, state_to_name(s_state(sock))));
- if (epoll_ctl(epoll_fd, EPOLL_CTL_DEL, s_fd(sock), &evt) < 0)
- log_write(LS_SOCKET, L_WARNING, 0,
- "Unable to delete epoll item for socket %d", s_fd(sock));
+ /* No action necessary; epoll removes the socket on close(). */
}
/** Run engine event loop.