Probe only 127.0.0.1 when looking for ports on Unix.
Commitc0985099
, later adjusted by commit4ab02e81
, probed 0.0.0.0 in addition to 127.0.0.1, for the benefit of Windows build farm animals. It isn't really useful on Unix systems, and turned out to be a bit inconvenient to users of some corporate firewall software. Switch back to probing just 127.0.0.1 on non-Windows systems. Back-patch to 9.6, like the earlier changes. Discussion: https://postgr.es/m/CA%2BhUKG%2B21EPwfgs4m%2BtqyRtbVqkOUvP8QQ8sWk9%2Bh55Aub1H3A%40mail.gmail.com
This commit is contained in:
parent
098344be66
commit
8efe710d9c
|
@ -1101,14 +1101,15 @@ sub get_new_node
|
||||||
# This seems like a good idea on Unixen as well, even though we don't
|
# This seems like a good idea on Unixen as well, even though we don't
|
||||||
# ask the postmaster to open a TCP port on Unix. On Non-Linux,
|
# ask the postmaster to open a TCP port on Unix. On Non-Linux,
|
||||||
# non-Windows kernels, binding to 127.0.0.1/24 addresses other than
|
# non-Windows kernels, binding to 127.0.0.1/24 addresses other than
|
||||||
# 127.0.0.1 fails with EADDRNOTAVAIL.
|
# 127.0.0.1 might fail with EADDRNOTAVAIL. Binding to 0.0.0.0 is
|
||||||
|
# unnecessary on non-Windows systems.
|
||||||
#
|
#
|
||||||
# XXX A port available now may become unavailable by the time we start
|
# XXX A port available now may become unavailable by the time we start
|
||||||
# the postmaster.
|
# the postmaster.
|
||||||
if ($found == 1)
|
if ($found == 1)
|
||||||
{
|
{
|
||||||
foreach my $addr (qw(127.0.0.1 0.0.0.0),
|
foreach my $addr (qw(127.0.0.1),
|
||||||
$use_tcp ? qw(127.0.0.2 127.0.0.3) : ())
|
$use_tcp ? qw(127.0.0.2 127.0.0.3 0.0.0.0) : ())
|
||||||
{
|
{
|
||||||
can_bind($addr, $port) or $found = 0;
|
can_bind($addr, $port) or $found = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue