summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2023-08-23 18:48:48 +0000
committerPeter Eisentraut2023-08-23 18:48:48 +0000
commit01226c682ce6cc130c1057fcd5b0f24b2b622d39 (patch)
tree6944c802410e8b64a19e3f2a5fb0a0c67b08f3db
parentbf8bf6d0bddbbaa9dc6c27b383f026273064d2a2 (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.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 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