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
>
>

Reply via email to