diff options
author | Peter Eisentraut | 2023-08-23 18:48:48 +0000 |
---|---|---|
committer | Peter Eisentraut | 2023-08-23 18:48:48 +0000 |
commit | 01226c682ce6cc130c1057fcd5b0f24b2b622d39 (patch) | |
tree | 6944c802410e8b64a19e3f2a5fb0a0c67b08f3db | |
parent | bf8bf6d0bddbbaa9dc6c27b383f026273064d2a2 (diff) |
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 <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/06f899fd-1826-05ab-42d6-adeb1fd5e200%40eisentraut.org
-rw-r--r-- | src/test/perl/PostgreSQL/Test/Cluster.pm | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 5e161dbee6..41409ba1be 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 |