On Thu, Mar 19, 2015 at 7:44 PM, Yann Ylavic <[email protected]> wrote:

> On Fri, Mar 20, 2015 at 12:40 AM,  <[email protected]> wrote:
> > Author: ylavic
> > Date: Thu Mar 19 23:40:51 2015
> > New Revision: 1667901
> >
> > URL: http://svn.apache.org/r1667901
> > Log:
> > Follow up to r1667900: revert spurious change on test/abts_tests.h.
> >
> > Modified:
> >     apr/apr/trunk/test/abts_tests.h
> >
> > Modified: apr/apr/trunk/test/abts_tests.h
> > URL:
> http://svn.apache.org/viewvc/apr/apr/trunk/test/abts_tests.h?rev=1667901&r1=1667900&r2=1667901&view=diff
> >
> ==============================================================================
> > --- 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;

-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Reply via email to