From 3368984f108d934149df33b2d95dbcfb30911ee6 Mon Sep 17 00:00:00 2001 From: Bert Hubert Date: Fri, 23 Jun 2006 14:49:14 +0000 Subject: [PATCH] fix for epoll on debian default 2.6.8 kernel, found & suggested by Christof Meerwald git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@860 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- pdns/epollmplexer.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pdns/epollmplexer.cc b/pdns/epollmplexer.cc index 4c0b243d3..1dc4a3586 100644 --- a/pdns/epollmplexer.cc +++ b/pdns/epollmplexer.cc @@ -94,7 +94,11 @@ void EpollFDMultiplexer::removeFD(callbackmap_t& cbmap, int fd) if(!cbmap.erase(fd)) throw FDMultiplexerException("Tried to remove unlisted fd "+lexical_cast(fd)+ " from multiplexer"); - if(epoll_ctl(d_epollfd, EPOLL_CTL_DEL, fd, 0) < 0) + struct epoll_event dummy; + dummy.events = 0; + dummy.data.u64 = 0; + + if(epoll_ctl(d_epollfd, EPOLL_CTL_DEL, fd, &dummy) < 0) throw FDMultiplexerException("Removing fd from epoll set: "+stringerror()); } -- 2.40.0