… | |
… | |
556 | mon1 => sub { # start monitoring a port |
556 | mon1 => sub { # start monitoring a port |
557 | my $portid = shift; |
557 | my $portid = shift; |
558 | my $node = $SRCNODE; |
558 | my $node = $SRCNODE; |
559 | Scalar::Util::weaken $node; #TODO# ugly |
559 | Scalar::Util::weaken $node; #TODO# ugly |
560 | $NODE{""}->monitor ($portid, $node->{rmon}{$portid} = sub { |
560 | $NODE{""}->monitor ($portid, $node->{rmon}{$portid} = sub { |
|
|
561 | delete $node->{rmon}{$portid}; |
561 | $node->send (["", kil => $portid, @_]) |
562 | $node->send (["", kil => $portid, @_]) |
562 | if $node && $node->{transport}; #TODO# ugly, should use snd and remove-on-disconnect |
563 | if $node && $node->{transport}; #TODO# ugly, should use snd and remove-on-disconnect |
563 | }); |
564 | }); |
564 | }, |
565 | }, |
565 | kil => sub { |
566 | kil => sub { |