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

Commitd31ae92

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 parent7bfba4f commitd31ae92

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
@@ -1188,19 +1188,22 @@ sub get_free_port
11881188
# Check to see if anything else is listening on this TCP port.
11891189
# Seek a port available for all possible listen_addresses values,
11901190
# so callers can harness this port for the widest range of purposes.
1191-
# The 0.0.0.0 test achieves that for post-2006 Cygwin, which
1192-
# automatically sets SO_EXCLUSIVEADDRUSE. The same holds for MSYS (a
1193-
# Cygwin fork). Testing 0.0.0.0 is insufficient for Windows native
1194-
# Perl (https://stackoverflow.com/a/14388707), so we also test
1195-
# individual addresses.
1191+
# The 0.0.0.0 test achieves that for MSYS, which automatically sets
1192+
# SO_EXCLUSIVEADDRUSE. Testing 0.0.0.0 is insufficient for Windows
1193+
# native Perl (https://stackoverflow.com/a/14388707), so we also
1194+
# have to test individual addresses. Doing that for 127.0.0/24
1195+
# addresses other than 127.0.0.1 might fail with EADDRNOTAVAIL on
1196+
# non-Linux, non-Windows kernels.
11961197
#
1197-
# On non-Linux, non-Windows kernels, binding to 127.0.0/24 addresses
1198-
# other than 127.0.0.1 might fail with EADDRNOTAVAIL. Binding to
1199-
# 0.0.0.0 is unnecessary on non-Windows systems.
1198+
# Thus, 0.0.0.0 and individual 127.0.0/24 addresses are tested
1199+
# only on Windows and only when TCP usage is requested.
12001200
if ($found == 1)
12011201
{
12021202
foreachmy$addr (qw(127.0.0.1),
1203-
$use_tcp ?qw(127.0.0.2 127.0.0.3 0.0.0.0) : ())
1203+
$use_tcp ?qw(127.0.0.2 127.0.0.3 0.0.0.0) : ())
1204+
$use_tcp &&$TestLib::windows_os
1205+
?qw(127.0.0.2 127.0.0.3 0.0.0.0)
1206+
: ())
12041207
{
12051208
if (!can_bind($addr,$port))
12061209
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp