aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2023-08-23 20:48:48 +0200
committerPeter Eisentraut <peter@eisentraut.org>2023-08-23 20:48:48 +0200
commit01226c682ce6cc130c1057fcd5b0f24b2b622d39 (patch)
tree6944c802410e8b64a19e3f2a5fb0a0c67b08f3db
parentbf8bf6d0bddbbaa9dc6c27b383f026273064d2a2 (diff)
downloadpostgresql-01226c682ce6cc130c1057fcd5b0f24b2b622d39.tar.gz
postgresql-01226c682ce6cc130c1057fcd5b0f24b2b622d39.zip
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
-rw-r--r--src/test/perl/PostgreSQL/Test/Cluster.pm3
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 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