"Brian J. Murrell" <[EMAIL PROTECTED]> writes:
> After installing the latest perl (perl-5.600-18mdk) IO::Socket seems to
> be broken.
>
> The following little program:
>
> use IO::Socket;
>
> my $sock = IO::Socket::INET->new(
> Proto => "tcp",
> PeerAddr => "localhost",
> PeerPort => "smtp(25)",
> Timeout => 60) or die "$0: socket failed [$!]\n";
>
> returns "/home/brian/socktest.pl: socket failed [Operation now in
> progress" when run. The same proggie on another system here running
> perl 5.00503 works as it always has. It seems that it is IO::Socket
> that has changed. The interesting bits of an "strace" of this program
> on the system it still works on reveals:
guess what, 18mdk is just a rebuild with new glibc+gcc, i've not touched
anything in the spec file, and 17mdk is working :-(
i've got to
if (!connect($sock, $addr)) {
if ($timeout && $!{EINPROGRESS}) {
at /usr/lib/perl5/5.6.0/i386-linux/IO/Socket.pm:109
the $!{EINPROGRESS} is not set as it should, it doesn't even contain all the
keys it should have... (and it haves in mdk7.2 with perl 5.600-17mdk)
currently rebuilding perl without optimizations to find out if gcc or glibc
causes this.
thanks, cu Pixel.