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
This commit is contained in:
parent
bf8bf6d0bd
commit
01226c682c
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue