"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.

Reply via email to