… | |
… | |
392 | # "mproto" - monitoring protocol |
392 | # "mproto" - monitoring protocol |
393 | |
393 | |
394 | # monitoring |
394 | # monitoring |
395 | mon0 => sub { # stop monitoring a port for another node |
395 | mon0 => sub { # stop monitoring a port for another node |
396 | my $portid = shift; |
396 | my $portid = shift; |
|
|
397 | # the if exists should not be needed, but there is apparently a bug |
|
|
398 | # elsewhere, and this works around that, silently suppressing that bug. sigh. |
397 | _unmonitor undef, $portid, delete $NODE{$SRCNODE}{rmon}{$portid}; |
399 | _unmonitor undef, $portid, delete $NODE{$SRCNODE}{rmon}{$portid} |
|
|
400 | if exists $NODE{$SRCNODE}; |
398 | }, |
401 | }, |
399 | mon1 => sub { # start monitoring a port for another node |
402 | mon1 => sub { # start monitoring a port for another node |
400 | my $portid = shift; |
403 | my $portid = shift; |
401 | Scalar::Util::weaken (my $node = $NODE{$SRCNODE}); |
404 | Scalar::Util::weaken (my $node = $NODE{$SRCNODE}); |
402 | _monitor undef, $portid, $node->{rmon}{$portid} = sub { |
405 | _monitor undef, $portid, $node->{rmon}{$portid} = sub { |