Thanks a lot Willy I will try it out tomorrow and let you know On Dec 6, 2012 8:31 PM, "Willy Tarreau" <[email protected]> wrote:
> Hi Bryan, > > I have some good news. I can realiably reproduce it and I have a > workaround. > It's not a fix yet until the issue is completely qualified. It happens with > error delivery that tends to propagate via the send() channel without > disabling > send activity because there is nothing to send, hence the loop afterwards. > > The temporary fix consists in leaving the ERR check only on the recv path > and > disabling it on the send path : > > src/ev_epoll.c: > > - if (fdtab[fd].ev & (FD_POLL_OUT|FD_POLL_ERR)) > + if (fdtab[fd].ev & (FD_POLL_OUT/*|FD_POLL_ERR*/)) > fd_ev_set(fd, DIR_WR); > > At least your CPU issues will go, but I need to completely understand the > root cause of the issue before committing this. > > Hoping this helps, > Willy > >

