According to apr_pollset_poll (-1 is the wakeup timeout)

Remarks
  APR_EINTR will be returned if the pollset has been created with
APR_POLLSET_WAKEABLE, apr_pollset_wakeup() has been called while
waiting for activity, and there were no signalled descriptors at the
time of the wakeup call.

Clearly -1 time has not expired.

The test in question;
    rv = apr_pollset_wakeup(pollset);
    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);

    rv = apr_pollset_poll(pollset, -1, &num, &descriptors);
    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
    ABTS_INT_EQUAL(tc, 1, num);

So the lingering question is whether this is a general unix implementation bug
or specific to OSX behavior.



On Wed, Jan 11, 2017 at 7:22 AM, Jim Jagielski <j...@jagunet.com> wrote:
>
> On my system, poll works.
>
> > On Jan 10, 2017, at 3:15 PM, William A Rowe Jr <wr...@rowe-clan.net> wrote:
> >
> > Hmmm... I knew this sounded familiar...
> >
> > https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/
> >
> > On Tue, Jan 10, 2017 at 9:46 AM, Jim Jagielski <j...@jagunet.com> wrote:
> >> I didn't realize it referred to the actual line number in the
> >> source file... How dumb :)
> >>
> >> This is on OSX so I'm getting EINTR.
> >>
> >> Weird.
> >>
> >>> On Jan 10, 2017, at 10:20 AM, Rainer Jung <rainer.j...@kippdata.de> wrote:
> >>>
> >>> Am 10.01.2017 um 15:35 schrieb Jim Jagielski:
> >>>> Occasionally, I get:
> >>>>
> >>>> testpoll            : /Line 816: expected <0>, but saw <4>
> >>>>
> >>>> Anyway I could easily see what test, exactly, is failing?
> >>>> ./testall -v testpoll does nil.
> >>>
> >>> Depending on which version of APR you are testing, it should be line 816 
> >>> of file test/testpoll.c, e.g. in 1.5.x and 1.6.x HEAD:
> >>>
> >>> ...
> >>>   815     rv = apr_pollset_poll(pollset, -1, &num, &descriptors);
> >>>   816     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
> >>>   817     ABTS_INT_EQUAL(tc, 1, num);
> >>> ...
> >>>
> >>> checking the return code of the apr_pollset_poll() call in 815 against 
> >>> APR_SUCCESS. So I guess the expected <0> is APR_SUCCESS and the real 
> >>> return code was 4.
> >>>
> >>> Regards,
> >>>
> >>> Rainer
> >>
>

Reply via email to