Hi,

On Wed, Nov 10, 2021 at 2:40 PM Yann Ylavic <ylavic....@gmail.com> wrote:
>
> On Tue, Nov 9, 2021 at 11:52 PM Mihaly Szjatinya
> <mihaly.szjati...@nxlog.org> wrote:
> >
> > We've encountered  a bug in pollset wakeup pipe. With
> > how wakeup pipe is created now, it's possible that reading loop in
> > `apr_poll_drain_wakeup_pipe()` gets stuck. That could happen, if there is 
> > only a
> > multiple of 512 bytes in the pipe.
> > The problem is that reading loop in `apr_poll_drain_wakeup_pipe()` is 
> > written
> > with the assumption that `apr_file_read()` would never block. On Windows, 
> > where
> > pipes are created differently, this assumption holds. On *nix this can be 
> > fixed
> > with making the read end of the pipe non-blocking.
> > Patch attached.
>
> Thanks, good catch and fix!
> Applied in http://svn.apache.org/r1894914.

Finally this commit was reverted because we think that the same issue
exists on Windows and it can't be addressed by simply making the
read-end of the pipe nonblocking.

So we went with another approach (https://svn.apache.org/r1895106)
that works for all the platforms and hopefully you would validate it
in your environment.


Regards;
Yann.

Reply via email to