--- AnyEvent-MP/MP/Node.pm 2009/09/08 20:56:05 1.40 +++ AnyEvent-MP/MP/Node.pm 2009/09/11 02:32:23 1.41 @@ -94,6 +94,7 @@ $self->transport_error (transport_error => "switched connections") if $self->{transport}; + delete $self->{connect_addr}; delete $self->{connect_w}; delete $self->{connect_to}; @@ -125,7 +126,14 @@ }; return unless @addresses; - return if $self->{connect_w}; + + if ($self->{connect_w}) { + # sometimes we get told about new addresses after we started to connect + unshift @{$self->{connect_addr}}, @addresses; + return; + } + + $self->{connect_addr} = \@addresses; # a bit weird, but efficient $AnyEvent::MP::Kernel::WARN->(9, "connecting to $self->{id} with [@addresses]");