# HG changeset patch # User Maxim Dounin # Date 1468166232 -10800 # Node ID 7d7aef8b9f3a343eb25cc895ac32e606078d3d64 # Parent 313e3f1905d4fa2da0cd876d431e29133406d137 Tests: revert 313e3f1905d4 and set reuse properly. It is too late to use setsockopt(SO_REUSEADDR) after a socket is created as bind() happens during socket construction, and fails if there is a conflicting TIME-WAIT socket and SO_REUSEADDR is not set. diff --git a/lib/Test/Nginx.pm b/lib/Test/Nginx.pm --- a/lib/Test/Nginx.pm +++ b/lib/Test/Nginx.pm @@ -330,13 +330,12 @@ sub port { Proto => 'tcp', LocalAddr => '127.0.0.1:' . $port, Listen => 1, + Reuse => ($^O ne 'MSWin32') ) and last; } die "Port limit exceeded" unless defined $s_tcp and defined $s_udp; - $s_tcp->sockopt(SO_REUSEADDR, 1) if $^O ne 'MSWin32'; - $ports{$num} = { port => $port, socket => $opts{udp} ? $s_tcp : $s_udp