Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb931304

Browse files
committed
Only ever test for non-127.0.0.1 addresses on Windows in PostgresNode
This has been found to cause hangs where tcp usage is forced.Alexey KodratovDiscussion:https://postgr.es/m/82e271a9a11928337fcb5b5e57b423c0@postgrespro.ruBackpatch to all live branches
1 parente4fbd11 commitb931304

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

‎src/test/perl/PostgresNode.pm

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,19 +1160,22 @@ sub get_free_port
11601160
# Check to see if anything else is listening on this TCP port.
11611161
# Seek a port available for all possible listen_addresses values,
11621162
# so callers can harness this port for the widest range of purposes.
1163-
# The 0.0.0.0 test achieves that for post-2006 Cygwin, which
1164-
# automatically sets SO_EXCLUSIVEADDRUSE. The same holds for MSYS (a
1165-
# Cygwin fork). Testing 0.0.0.0 is insufficient for Windows native
1166-
# Perl (https://stackoverflow.com/a/14388707), so we also test
1167-
# individual addresses.
1163+
# The 0.0.0.0 test achieves that for MSYS, which automatically sets
1164+
# SO_EXCLUSIVEADDRUSE. Testing 0.0.0.0 is insufficient for Windows
1165+
# native Perl (https://stackoverflow.com/a/14388707), so we also
1166+
# have to test individual addresses. Doing that for 127.0.0/24
1167+
# addresses other than 127.0.0.1 might fail with EADDRNOTAVAIL on
1168+
# non-Linux, non-Windows kernels.
11681169
#
1169-
# On non-Linux, non-Windows kernels, binding to 127.0.0/24 addresses
1170-
# other than 127.0.0.1 might fail with EADDRNOTAVAIL. Binding to
1171-
# 0.0.0.0 is unnecessary on non-Windows systems.
1170+
# Thus, 0.0.0.0 and individual 127.0.0/24 addresses are tested
1171+
# only on Windows and only when TCP usage is requested.
11721172
if ($found == 1)
11731173
{
11741174
foreachmy$addr (qw(127.0.0.1),
1175-
$use_tcp ?qw(127.0.0.2 127.0.0.3 0.0.0.0) : ())
1175+
$use_tcp ?qw(127.0.0.2 127.0.0.3 0.0.0.0) : ())
1176+
$use_tcp &&$TestLib::windows_os
1177+
?qw(127.0.0.2 127.0.0.3 0.0.0.0)
1178+
: ())
11761179
{
11771180
if (!can_bind($addr,$port))
11781181
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp