On Wed, Jan 11, 2017 at 10:20 PM, Yann Ylavic <ylavic....@gmail.com> wrote: > On Wed, Jan 11, 2017 at 10:17 PM, Yann Ylavic <ylavic....@gmail.com> wrote: >> On Wed, Jan 11, 2017 at 10:05 PM, William A Rowe Jr <wr...@rowe-clan.net> >> wrote: >>> On Wed, Jan 11, 2017 at 2:51 PM, Jim Jagielski <j...@jagunet.com> wrote: >>>> It looks like it is taking time for the message to >>>> arrive and that is what is causing the APR_EINTR. After >>>> all, it is behaving exacting like a wait for no data. >>>> The apr_sleep() "ensures" time. >>> >>> But isn't -1 'infinite' wait, by definition? >> >> I think Jim's patch is about the message sent not reaching the read >> size of the socket before poll() is call, hence the wakeup applies. > > Sorry, if your parser failed, s/size/side/ and s/call/called/ ;)
For test fairness (i.e. when both data and wakeup are available, data win), I think the sleep should come after the wakeup, otherwise the test might pass because the wakeup is not there yet (though less likely to happen with pipe than with a socket).