]> git.llucax.com Git - z.facultad/75.08/llamadas.git/commitdiff
Se agrega locking
authorAlan Kennedy <kennedya@3dgames.com.ar>
Sun, 24 Oct 2004 01:44:39 +0000 (01:44 +0000)
committerAlan Kennedy <kennedya@3dgames.com.ar>
Sun, 24 Oct 2004 01:44:39 +0000 (01:44 +0000)
inst/antifraude.pl

index cc654215eeb00132f605444f328c0c6a84210d70..47ffc42439fcf1c03c644c16d5ce9ad67a3e2285 100644 (file)
@@ -1,5 +1,29 @@
 #!/usr/bin/perl
 
+sub is_lock {
+       if ( -e "$ENV{'HOME'}/.antifraude/lock/antifraude.pid" ) {
+               # Lock file encontrado
+               return 1;
+       }
+       # No hay lock file!
+       return 0;
+}
+
+sub unlock {
+       unlink ("$ENV{'HOME'}/.antifraude/lock/antifraude.pid");
+}
+
+sub lock {
+       if (!is_lock()) {
+               local $lfile = "$ENV{'HOME'}/.antifraude/lock/antifraude.pid";
+               open(LOCKFILE,">>$lfile");
+               print LOCKFILE $$;
+               close(LOCKFILE);
+               return 1;
+       }
+       return 0;
+}
+
 # Comparador de fecha para los archivos de llamada
 sub byDate {
        ($year1,$mon1,$day1,$hr1,$min1) = $a =~ /([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/;
@@ -130,6 +154,10 @@ if ((!$ARGV[0]) || (! -d $ARGV[0])) {
        print("No se ha ingresado un directorio fuente de llamadas\n");
        exit 1;
 }
+
+# Lock file
+lock();
+
 # Defino some GLOBALS
 $CONFDIR = shift;
 $CONFDATA{logdir} = getConfVar("$CONFDIR/afinstal.conf",12);
@@ -188,3 +216,6 @@ FILE: foreach $filename (@archivos) {
 
        logEntry("Fin proceso de: $filename",1);
 }
+
+# Unlocking
+unlock();