/[rserv]/bin/Replicate
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /bin/Replicate

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by dpavlin, Sun Aug 10 13:21:50 2003 UTC revision 1.9 by dpavlin, Sun Aug 10 13:51:54 2003 UTC
# Line 63  $str .= ':'.$slave; Line 63  $str .= ':'.$slave;
63  $str .= '@'.$slavehost if (defined($slavehost));  $str .= '@'.$slavehost if (defined($slavehost));
64  my $fname = "/tmp/.lock_rserv-$str";  my $fname = "/tmp/.lock_rserv-$str";
65  if (-e $fname) {  if (-e $fname) {
66      print STDERR "rServ is already running for $str. Remove $fname to override this.\n";          open(PID,$fname) || die "can't open pid file '$fname'";
67      exit(1);          my $pid = <PID>; chomp($pid);
68            close(PID);
69            open(PS,"ps ax |") || die "can't start ps to check for running rServ with pid $pid\n";
70            my $is_running = 0;
71            while(<PS>) {
72                    chomp;
73                    $is_running = 1 if (/^\s*$pid\s/);
74            }
75            close(PS);
76            if ($is_running) {
77                    print STDERR "rServ [$pid] is already running for $str. Remove $fname to override this.\n";
78                    exit(1);
79            } else {
80                    print STDERR "found stale pid file, but no running rServ [$pid], overriding.\n";
81            }
82  }  }
83  open ARQ, ">$fname" || die "Cannot open $fname: $!\n";  open ARQ, ">$fname" || die "Cannot open $fname: $!\n";
84  print ARQ "$$\n";  print ARQ "$$\n";
85  close ARQ;  close ARQ;
86    
87    $SIG{__DIE__} = \&mydie;
88    sub mydie {
89            unlink $fname;
90            print @_;
91            exit 1;
92    }
93    
94    
95  my $minfo = "dbname=$master";  my $minfo = "dbname=$master";
96  $minfo = "$minfo host=$masterhost" if (defined($masterhost));  $minfo = "$minfo host=$masterhost" if (defined($masterhost));
97  $minfo = "$minfo port=$masterport" if (defined($masterport));  $minfo = "$minfo port=$masterport" if (defined($masterport));
# Line 98  if ($sconn->status != Pg::PGRES_CONNECTI Line 120  if ($sconn->status != Pg::PGRES_CONNECTI
120      exit 1;      exit 1;
121  }  }
122    
123  my $slaveId = GetSlaveId($mconn, $slave, defined($slavehost) ? $slavehost : hostname);  $slavehost = hostname if (! $slavehost);
124    my $slaveId = GetSlaveId($mconn, $slave, $slavehost);
125    
126    die "\n>>>>>>>>>>>>> ERROR: Can't GetSlaveID for $sinfo\n" if (! $slaveId);
127    
128  if ($slaveId < 0) {  if ($slaveId < 0) {
129      unlink $fname;      unlink $fname;
130      die "\n>>>>>>>>>>>>> ERROR\n";      die "\n>>>>>>>>>>>>> ERROR\n";

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.26