#!/usr/bin/perl

#Script to autosync Cadence library clients

#Called from an opus session

#Args: client name, update interval, parent pid

$client=$ARGV[0];
$interval=$ARGV[1];
$ppid=$ARGV[2];

if( (!$client || !$interval)) {
  print "arguments error\n";
  exit(1);
}

while() {

do {
  &checkpid;
  $cmd="p4 -c $client sync >/dev/null 2>&1";
  system($cmd);
  sleep $interval;
  }
}


sub checkpid {
  
  my $cmd;
  $cmd="ps -al | awk '{print $3}' | grep $ppid >/dev/null 2>&1";
  system($cmd);
  # Check exit status
  #print "Status $?\n";
  if($? eq 256) {
    
   # print "Exiting\n";
    exit(0);
  }
}