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]