]> err.no Git - varnish/commit
On Linux 2.6.8 and older, epoll_ctl(EPOLL_CTL_DEL) requires a poll_event
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 6 Oct 2006 15:37:32 +0000 (15:37 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 6 Oct 2006 15:37:32 +0000 (15:37 +0000)
commit91af764158ce079b33b8868b5138778f1f021004
tree7cc66567d73501f89b748934604dac107b617af0
parent75a5c1c639291494af341c6e904c406cb6ca2955
On Linux 2.6.8 and older, epoll_ctl(EPOLL_CTL_DEL) requires a poll_event
even though it is not used, and will return EFAULT if one is not provided.

Also, instead of silently accepting EBADF from epoll_ctl(), check that
sp->fd != -1 before calling vca_del().  This can happen in some cases
where vca_pollsession() closes the session before returning.  This way,
we will still get an assertion failure if epoll_ctl() fails for some
other (unexpected) reason.

Thanks to airmax for his assistance in tracking this down.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1143 d4fa192b-c00b-0410-8231-f00ffab90ce4
varnish-cache/bin/varnishd/cache_acceptor_epoll.c