On Wed, 26 May 2004, Stas Bekman wrote:

> Steve Hay wrote:
> > Using the current CVS w/ Apache 2.0.49 and Perl 5.8.4 I find that
> > error/runtime.t hangs.
> >
> > Running "perl t/TEST -verbose error/runtime" starts up the server ok and
> > outputs
> >
> > t\error\runtime....1..10
> > # Running under perl version 5.008004 for MSWin32
> > # Current time local: Wed May 26 16:08:44 2004
> > # Current time GMT:   Wed May 26 15:08:44 2004
> > # Using Test.pm version 1.24
> >
> > but then does nothing else.
> >
> > I uncommented the line "t_debug($res->content);" from the test file, but
> > it doesn't produce any more output.
> >
> > Any ideas?
>
> Yup, most likely it hangs in response/TestError/runtime.pm:
>
> # fails because of the timeout set earlier in the handler
> sub mp_error {
>      my $socket = shift;
>      $socket->recv(SIZE);
> }
>
> when it reads from the socket. That means that sockets timeout setting or
> reading is broken on windows in APR.
>
> The handler starts with:
>
> $socket->timeout_set(1);
>
> which sets the timeout to 1 micro second, ensuring that
> $socket->recv() should fail and return almost immediately.
> Well 1 microsecond later :)
>
> When I was writing tests for the new exception system I
> didn't have any other APIs to use yet. I need to review
> that and see if I can find something that does work
> crossplatform.
>
> Regardless, it'd be nice to figure out what's wrong with
> that on windows and hopefully get it fixed in APR.

I may have missed some of this thread, and the related
apr-dev discussion (we're going through a particularly nasty
time at work), but I found that the t/error/runtime tests
all pass on Win32 with
   $socket->timeout_set(0);

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to