#!/bin/sh

# counter - Compteur en mode texte tout simple, avec pose de verrous 

myhome="/home/taylor/web/wicked/examples"
counter="$myhome/counter.dat"
lockfile="$myhome/counter.lck"
updatecounter="$myhome/updatecounter"

# Ce script n'est pas destin  tre appel directement depuis un
#   navigateur Web. C'est pourquoi il n'utilise pas les en-ttes
#   habituellement obligatoires. 

# On cherche  savoir si on dispose des applications systme lockf ou lockfile

if [ -z $(which lockf) ] ; then
  if [ -z $(which lockfile) ] ; then
    echo "(counter: aucun utilitaire de pose de verrou n'est disponible)<br>"
    exit 0
  else # on continue avec la commande lockfile 
    if [ ! -f $counter ] ; then
      echo "0"  # il sera cr sous peu
    else
      cat $counter
    fi
     
     trap "/bin/rm -f $lockfile" 0

     lockfile -1 -l 10 -s 2 $lockfile
     if [ $? -ne 0 ] ; then
       echo "(counter: je n'ai pas pu crer le verrou  temps)"
       exit 0
     fi
     $updatecounter $counter
  fi
else
  if [ ! -f $counter ] ; then
    echo "0"    # il sera cr sous peu
  else
    cat $counter
  fi

  lockf -s -t 10 $lockfile $updatecounter $counter
  if [ $? -ne 0 ] ; then
    echo "(counter: je n'ai pas pu crer le verrou  temps)"
  fi
fi

exit 0
