test for symbol table/package lookup bug
[urisagit/Stem.git] / bin / tail_demo
CommitLineData
4536f655 1#!/usr/local/bin/perl -s
2
3$line_cnt = 10 ;
4$offset = 175 ;
5$base_off = 0 ;
6$xskip = ( $^O eq 'solaris' ) ? 600 : 500 ;
7
8my @children ;
9
10my $tail_dir = 'tail' ;
11
12$SIG{ 'INT' } = \&cleanup ;
13
14if ( $s ) {
15
16 $ssfe = 'ssfe' ;
17 $prompt = '-prompt Stem:' ;
18 $echo = 'console_echo=1'
19}
20
21-d $tail_dir or mkdir $tail_dir, 0722 or
22 die "can't create $tail_dir working directory" ;
23
24foreach my $log ( qw( foo bar bar_status ) ) {
25 unlink "$tail_dir/$log.log" ;
26}
27
28
29foreach $cmd ( split /\n/, <<EOT ) {
30xterm -T Archive -n Archive -geometry 80x35+0+0 -e $ssfe $prompt run_stem $echo archive
31xterm -T Monitor -n Monitor -geometry 80x35+$xskip+0 -e $ssfe $prompt run_stem $echo monitor
32xterm -T Tail -n Tail -geometry 80x20+275+420
33EOT
34
35 print "$cmd\n" ;
36
37 @cmd = split ' ', $cmd ;
38
39 s/:/: / for @cmd ;
40
41 chdir $tail_dir unless $cmd =~ /run_stem/ ;
42
43 fork_exec( @cmd ) ;
44
45 sleep 2 ;
46}
47
48while( <STDIN> ) {
49
50 next unless /^q/i ;
51
52 cleanup() ;
53}
54
55sub cleanup {
56
57 print "clean up\n" ;
58
59 kill 9, @children ;
60 wait ;
61 exit ;
62
63}
64
65sub fork_exec {
66
67 my( @exec ) = @_ ;
68
69 if ( $pid = fork() ) {
70
71 push @children, $pid ;
72 return ;
73 }
74
75 exec @exec ;
76}