postgres.git / summary / log / commit / refs

commit    01226c682ce6cc130c1057fcd5b0f24b2b622d39
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Wed Aug 23 18:48:48 2023 +0000
First released in: 17.0

    Avoid use of Perl getprotobyname
    
    getprotobyname returns undefined on some CI machines.  It's not clear
    why.  The code overall still works, but it raises a warning.
    
    In PostgreSQL C code, we always call socket() with 0 for the protocol
    argument, so we should be able to do the same in Perl (since the Perl
    documentation says that the arguments of the socket function are the
    same as in C).  So do that, to avoid the issue.
    
    Reviewed-by: Andrew Dunstan <andrew@dunslane.net>
    Discussion: https://www.postgresql.org/message-id/flat/06f899fd-1826-05ab-42d6-adeb1fd5e200%40eisentraut.org


src/test/perl/PostgreSQL/Test/Cluster.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 5e161dbee60..41409ba1bed 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -1570,9 +1570,8 @@ sub can_bind my ($host, $port) = @_; my $iaddr = inet_aton($host); my $paddr = sockaddr_in($port, $iaddr); - my $proto = getprotobyname("tcp"); - socket(SOCK, PF_INET, SOCK_STREAM, $proto) + socket(SOCK, PF_INET, SOCK_STREAM, 0) or die "socket failed: $!"; # As in postmaster, don't use SO_REUSEADDR on Windows [parent: bf8bf6d0bddb]