Commit 6ae54524 authored by Matt Caswell's avatar Matt Caswell
Browse files

Workaround an IO::Socket::IP bug



Workaround an apparent IO:Socket::IP bug where a seemingly valid
server socket is being returned even though a valid connection does not
exist. This causes the tests to intermittently hang. We additionally check
that the peerport looks ok to verify that the returned socket looks usable.

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent 5c4328f0
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -236,7 +236,9 @@ sub clientstart
        };

        $retry--;
        if ($@ || !defined($server_sock)) {
        #Some buggy IP factories can return a defined server_sock that hasn't
        #actually connected, so we check peerport too
        if ($@ || !defined($server_sock) || !defined($server_sock->peerport)) {
            $server_sock->close() if defined($server_sock);
            undef $server_sock;
            if ($retry) {