Stas Bekman wrote:
[...]
are known and Joe promised to take care of them, at least on Solaris:

but not that one:

t/protocol/echo_block.t

I just added it a day before. So it's a new one. But probably related to blocking (bugs?) in Apache 2.0.49.

Actually, no, echo_timeout is the new one. t/protocol/echo_block.t is the old one (just renamed it from echo) with some tweaks, I decided to test first whether we need to set the socket to the blocking mode and not do that if it's already blocking.:


in t/protocol/TestProtocol/echo_block.pm:

    # make sure the socket is in the blocking mode for recv().
    # on some platforms (e.g. OSX/Solaris) httpd hands us a
    # non-blocking socket
    my $nonblocking = $socket->opt_get(APR::SO_NONBLOCK);
    if ($nonblocking) {
        $socket->opt_set(APR::SO_NONBLOCK => 0);

        # test that we really are in the non-blocking mode
        $socket->opt_get(APR::SO_NONBLOCK)
            or die "failed to set non-blocking mode";
    }

I didn't see Carl's feedback yet, so it's hard to tell. But my guess is that Apache reports that the socket is blocking, while it is not. Carl, does that if ($nonblocking) branch gets executed? (hint: add a warn "foo" debug print :)

Any difference for the test failure if you comment out the if call, but leave the code that's inside of the branch? e.g. replace all the above code with just:

$socket->opt_set(APR::SO_NONBLOCK => 0);

which seemed to work before.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

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



Reply via email to