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

Comparing AnyEvent-MP/MP/Kernel.pm (file contents):
Revision 1.89 by root, Fri Mar 9 17:05:26 2012 UTC vs.
Revision 1.90 by root, Sat Mar 10 20:34:11 2012 UTC

366sub mon_nodes($) { 366sub mon_nodes($) {
367 my ($cb) = @_; 367 my ($cb) = @_;
368 368
369 $MON_NODES{$cb+0} = $cb; 369 $MON_NODES{$cb+0} = $cb;
370 370
371 defined wantarray
371 defined wantarray && Guard::guard { delete $MON_NODES{$cb+0} } 372 and Guard::guard { delete $MON_NODES{$cb+0} }
372} 373}
373 374
374sub _inject_nodeevent($$;@) { 375sub _inject_nodeevent($$;@) {
375 my ($node, $up, @reason) = @_; 376 my ($node, $up, @reason) = @_;
376 377
793 $LOCAL_MON{$family}{$cb+0} = $cb; 794 $LOCAL_MON{$family}{$cb+0} = $cb;
794 global_req_add "mon1 $family" => [g_mon1 => $family]; 795 global_req_add "mon1 $family" => [g_mon1 => $family];
795 $MON_DB{$family} = {}; 796 $MON_DB{$family} = {};
796 } 797 }
797 798
799 defined wantarray
798 Guard::guard { 800 and Guard::guard {
799 my $mon = $LOCAL_MON{$family}; 801 my $mon = $LOCAL_MON{$family};
800 delete $mon->{$cb+0}; 802 delete $mon->{$cb+0};
801 803
802 unless (%$mon) { 804 unless (%$mon) {
803 global_req_del "mon1 $family"; 805 global_req_del "mon1 $family";
804 806
805 # no global_req, because we don't care if we are not connected 807 # no global_req, because we don't care if we are not connected
806 snd $MASTER, g_mon0 => $family 808 snd $MASTER, g_mon0 => $family
807 if $MASTER; 809 if $MASTER;
808 810
809 delete $LOCAL_MON{$family}; 811 delete $LOCAL_MON{$family};
810 delete $MON_DB{$family}; 812 delete $MON_DB{$family};
813 }
811 } 814 }
812 }
813} 815}
814 816
815# full update 817# full update
816$NODE_REQ{g_chg1} = sub { 818$NODE_REQ{g_chg1} = sub {
817 my ($f, $ndb) = @_; 819 my ($f, $ndb) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines