ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/MP/Node.pm
(Generate patch)

Comparing AnyEvent-MP/MP/Node.pm (file contents):
Revision 1.55 by root, Wed Feb 29 19:23:44 2012 UTC vs.
Revision 1.58 by root, Fri Mar 2 19:21:16 2012 UTC

123 $self->{connect_to} ||= AE::timer $monitor, 0, sub { 123 $self->{connect_to} ||= AE::timer $monitor, 0, sub {
124 $self->transport_error (transport_error => $self->{id}, "unable to connect"); 124 $self->transport_error (transport_error => $self->{id}, "unable to connect");
125 }; 125 };
126 126
127 # maybe @$addresses? 127 # maybe @$addresses?
128 my @addresses = @{ 128 my @addresses = @{ $AnyEvent::MP::Kernel::GLOBAL_DB{"'l"}{$self->{id}} };
129 $AnyEvent::MP::Kernel::GLOBAL_ADDR->{$self->{id}}
130 || $AnyEvent::MP::Kernel::NODE_ADDR->{$self->{id}}
131 };
132 129
133 unless (@addresses) { 130 unless (@addresses) {
134 # on global nodes, all bets are off now - we either know the node, or we don't 131 # on global nodes, all bets are off now - we either know the node, or we don't
135 unless ($AnyEvent::MP::Kernel::GLOBAL) { 132 unless ($AnyEvent::MP::Kernel::GLOBAL) {
136 $self->{connect_w} = AnyEvent::MP::Kernel::global_req ( 133 AnyEvent::MP::Kernel::g_find ($self->{id});
137 g_find => $self->{id},
138 sub {
139 return unless $self; # just to be sure
140 return unless @{ $_[0] };
141
142 local $AnyEvent::MP::Kernel::GLOBAL_ADDR->{$self->{id}} = $_[0]; #d# UGLY
143 delete $self->{connect_w};
144 $self->connect;
145 }
146 );
147 } 134 }
148
149 return; 135 return;
150 } 136 }
151 137
152 $self->{connect_addr} = \@addresses; # a bit weird, but efficient 138 $self->{connect_addr} = \@addresses; # a bit weird, but efficient
153 139

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines