I've been trying to give CPAN a good workout and building a bunch of
modules.  One of the toughest so far is the LWP (libwww-perl) module.

It builds just fine, once you get the prereq's
installed...HTML::Parser reveals a bug in MMK and URI has some
"VMSish" issues, but they're pretty straightforward to work around
(bugs reported to authors).

But the LWP tests showed something odd, and I wondered if anyone else has
come across it.

It's in the local/http.t test, where it sets up a little HTTP
server and throws a few requests at it.  It seems that the first
response read back has got a lot of NUL bytes after the first line
that the server writes...all subsequent lines are okay.

Now, what is actually doing the read from the socket is code in
PP_SYS\Perl_pp_sysread where the default action is do just do a
"read()" on the socket file descriptor, the same as you do if doing
a sysread from a file.

I turned on the PERL_SOCK_SYSREAD_IS_RECV flag so thoughtfully provided :)
so that socket reads use  "recv()" rather than "read()", and now it's
okay.

The docs I have imply that the two calls should be equivalent. Guess not.

Anyone else see this?   I'm running:

    VMS 6.2-1h3,  DECC 5.5-002,  UCX 4.1    (using DECC sockets)

What I'm wondering is whether (if this is a common problem) we should
somehow determine if the flag is needed.  It's rather a longwinded
process to do a full build, add a bunch of modules, then find that the
flag was needed and have to do it all over again

--
 Drexel University       \V                     --Chuck Lane
----------------->--------*------------<[EMAIL PROTECTED]
     (215) 895-1545      / \  Particle Physics  [EMAIL PROTECTED]
FAX: (215) 895-5934        /~~~~~~~~~~~         [EMAIL PROTECTED]

Reply via email to