ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/bin/aemp
(Generate patch)

Comparing AnyEvent-MP/bin/aemp (file contents):
Revision 1.56 by root, Wed Mar 21 15:22:16 2012 UTC vs.
Revision 1.57 by root, Wed Mar 21 21:02:04 2012 UTC

635 635
636sub trace { 636sub trace {
637 my ($seed) = @_; 637 my ($seed) = @_;
638 my $cv = AE::cv; 638 my $cv = AE::cv;
639 my %seen; 639 my %seen;
640 my $exit;
640 641
641 my $to; 642 my %to;
642 643
643 init; 644 init;
644 645
645 my $reply = port { 646 my $reply = port {
646 my ($node, undef, @neigh) = @_; 647 my ($node, undef, @neigh) = @_;
647 648
648 $to = AE::timer 15, 0, sub { exit 1 }; 649 delete $to{$node};
650
649 @neigh = grep $_ ne $NODE, @neigh; 651 @neigh = grep $_ ne $NODE, @neigh;
650 652
651 print $node, " -> ", (join " ", @neigh), "\n"; 653 print $node, " -> ", (join " ", @neigh), "\n";
652 654
653 for (@neigh) { 655 for my $neigh (@neigh) {
654 unless ($seen{$_}++) { 656 unless ($seen{$neigh}++) {
655 $cv->begin; 657 $cv->begin;
658 $to{$neigh} = AE::timer 15, 0, sub {
659 print "$neigh (timeout)\n";
660 $exit = 1;
661 $cv->end;
662 };
656 AnyEvent::MP::Kernel::eval_on $_, "AnyEvent::MP::Kernel::up_nodes" => $SELF => $_; 663 AnyEvent::MP::Kernel::eval_on $neigh, "AnyEvent::MP::Kernel::up_nodes" => $SELF => $neigh;
657 } 664 }
658 } 665 }
659 666
660 $cv->end; 667 $cv->end;
661 }; 668 };
662 669
663 $cv->begin; 670 $cv->begin;
664 snd $reply, seed => undef, $seed; 671 snd $reply, seed => undef, $seed;
665 672
666 $cv->recv; 673 $cv->recv;
674
675 exit $exit;
667} 676}
668 677
669sub shell { 678sub shell {
670 init; 679 init;
671 680

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines