… | |
… | |
346 | $cv->end; |
346 | $cv->end; |
347 | |
347 | |
348 | $cv |
348 | $cv |
349 | } |
349 | } |
350 | |
350 | |
351 | sub configure(%) { |
351 | sub configure(@) { |
|
|
352 | unshift @_, "profile" if @_ & 1; |
352 | my (%kv) = @_; |
353 | my (%kv) = @_; |
353 | |
354 | |
354 | my $profile = delete $kv{profile}; |
355 | my $profile = delete $kv{profile}; |
355 | |
356 | |
356 | $profile = _nodename |
357 | $profile = _nodename |
… | |
… | |
515 | my $portid = shift; |
516 | my $portid = shift; |
516 | my $node = $SRCNODE; |
517 | my $node = $SRCNODE; |
517 | Scalar::Util::weaken $node; #TODO# ugly |
518 | Scalar::Util::weaken $node; #TODO# ugly |
518 | $NODE{""}->monitor ($portid, $node->{rmon}{$portid} = sub { |
519 | $NODE{""}->monitor ($portid, $node->{rmon}{$portid} = sub { |
519 | $node->send (["", kil => $portid, @_]) |
520 | $node->send (["", kil => $portid, @_]) |
520 | if $node && $node->{transport}; #TODO# ugly, should use snd and remove-on-disocnnect |
521 | if $node && $node->{transport}; #TODO# ugly, should use snd and remove-on-disconnect |
521 | }); |
522 | }); |
522 | }, |
523 | }, |
523 | kil => sub { |
524 | kil => sub { |
524 | my $cbs = delete $SRCNODE->{lmon}{+shift} |
525 | my $cbs = delete $SRCNODE->{lmon}{+shift} |
525 | or return; |
526 | or return; |