Changeset 21545 for trunk/Nebulous/scripts/ptest.pl
- Timestamp:
- Feb 19, 2009, 3:43:13 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous/scripts/ptest.pl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/scripts/ptest.pl
r13053 r21545 7 7 8 8 use Nebulous::Client; 9 use IO::Select; 10 use IO::Socket; 9 11 10 12 my $neb = Nebulous::Client->new( 11 proxy => 'http://localhost:80/nebulous' 13 # proxy => 'http://localhost:80/nebulous' 14 proxy => 'http://alala:80/nebulous' 12 15 ); 13 16 … … 15 18 my $kids = shift || 1; 16 19 20 my $s = IO::Select->new(); 21 17 22 foreach my $id ( 1..$kids ) { 23 my ($sock_parent, $sock_child) = IO::Socket->socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC); 24 $s->add($sock_parent); 25 18 26 my $pid = fork; 19 27 20 28 unless ( $pid ) { 21 my $fname = "${key}_$id"; 22 my $fh = $neb->open_create( $fname ); 23 die "can't create file $fname" unless $fh; 29 child($sock_child, $id); 30 exit 0; 31 } 32 # parent 33 } 24 34 25 print $fh "fooby\n"; 26 27 close $fh; 28 29 $fh = $neb->open( $fname, 'read' ) or die "can't open file"; 30 close $fh; 31 32 $neb->lock( $fname, 'read' ); 33 $neb->unlock( $fname, 'read' ); 34 $neb->replicate( $fname ); 35 $neb->cull( $fname ); 36 $neb->find( $fname ); 37 $neb->copy( $fname, $fname . "_copy" ); 38 $neb->move( $fname, $fname . "_move" ); 39 $neb->delete( $fname . "_copy" ); 40 $neb->delete( $fname . "_move" ); 41 42 exit 0; 35 while ($kids) { 36 foreach my $child ($s->can_read(1)) { 37 my $string = <$child>; 38 my @events = split(/\n/, $string) if $string; 39 print join("\n", @events), "\n" if scalar @events; 43 40 } 44 41 } 45 42 46 while ( $kids ) { 47 wait(); 48 $kids --; 43 #while ( $kids ) { 44 # wait(); 45 # $kids --; 46 #} 47 48 our $my_sock; 49 50 sub child 51 { 52 my ($sock_child, $id) = @_; 53 54 $my_sock = $sock_child; 55 56 # child 57 my $fname = "${key}_$id"; 58 print $sock_child "$$ : i'm a little tea pot using key: $fname\n"; 59 my $fh = $neb->open_create( $fname ); 60 child_die("can't create file $fname") unless $fh; 61 62 print $fh "fooby\n"; 63 64 close $fh; 65 66 $fh = $neb->open( $fname, 'read' ) or child_die("can't open file"); 67 close $fh; 68 69 $neb->lock( $fname, 'read' ); 70 $neb->unlock( $fname, 'read' ); 71 $neb->replicate( $fname ); 72 $neb->cull( $fname ); 73 74 print $sock_child "$$ : half way\n"; 75 76 $neb->find( $fname ); 77 $neb->copy( $fname, $fname . "_copy" ); 78 $neb->move( $fname, $fname . "_move" ); 79 $neb->delete( $fname . "_copy" ); 80 $neb->delete( $fname . "_move" ); 81 82 print $sock_child "$$ : all done!\n"; 83 84 $sock_child->flush; 85 sleep 10; 86 87 return 1; 49 88 } 89 90 sub child_die 91 { 92 print $my_sock $@; 93 shutdown($my_sock, 2); 94 exit 1; 95 }
Note:
See TracChangeset
for help on using the changeset viewer.
