apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Ylavic <yla...@apache.org>
Subject Re: svn commit: r1667901 - /apr/apr/trunk/test/abts_tests.h
Date Fri, 20 Mar 2015 00:22:04 GMT
On Fri, Mar 20, 2015 at 1:13 AM, Jeff Trawick <trawick@gmail.com> wrote:
> On Thu, Mar 19, 2015 at 7:44 PM, Yann Ylavic <ylavic@apache.org> wrote:
>> > --- apr/apr/trunk/test/abts_tests.h (original)
>> > +++ apr/apr/trunk/test/abts_tests.h Thu Mar 19 23:40:51 2015
>> > @@ -50,9 +50,7 @@ const struct testlist {
>> >      {testoc},
>> >      {testpath},
>> >      {testpipe},
>> > -#if 0
>> >      {testpoll},
>> > -#endif
>>
>> This test blocks infinitely on my machine (Linux 2.6.32-5-amd64 with
>> libc6 2.11.3-4+deb6u5).
>> Any other with the same issue?
>
> Umm, it seems that apr_time_from_msec(200) is turning into a long wait:
>
> (gdb) up
> #3  0x000000000041bf9e in justsleep (tc=0x7fff5995ff10, data=0x0) at
> testpoll.c:855
> 855            rv = apr_pollset_poll(pollset, apr_time_from_msec(200),
> &nsds,
>
> epoll_wait(12, {}, 5, 200)              = 0
> write(1, "\10\\", \)                    = 2
> write(1, "\10-", -)                     = 2
> write(1, "\10|", |)                     = 2
> poll(0x2657b98, 0, 200000
> ...
>
> This works for me:
>
> Index: poll/unix/poll.c
> ===================================================================
> --- poll/unix/poll.c (revision 1667903)
> +++ poll/unix/poll.c (working copy)
> @@ -258,6 +258,9 @@
>
>      ret = WSAPoll(pollset->p->pollset, pollset->nelts, (int)timeout);
>  #else
> +    if (timeout > 0) {
> +        timeout /= 1000;
> +    }
>      ret = poll(pollset->p->pollset, pollset->nelts, timeout);
>  #endif
>      (*num) = ret;
>
> --

Indeed, poll() expects msecs as well...
The strange thing is that it does not occur in 1.5.x for me (same code AFAICS).

Mime
View raw message