Index: trunk/MagicSoft/Mars/datacenter/scripts/checkfilesforsequenceavail
===================================================================
--- trunk/MagicSoft/Mars/datacenter/scripts/checkfilesforsequenceavail	(revision 7426)
+++ trunk/MagicSoft/Mars/datacenter/scripts/checkfilesforsequenceavail	(revision 7460)
@@ -20,9 +20,18 @@
 #   Author(s): Daniela Dorner  08/2004 <mailto:dorner@astro.uni-wuerzburg.de>
 #
-#   Copyright: MAGIC Software Development, 2000-2004
+#   Copyright: MAGIC Software Development, 2000-2006
 #
 #
 # ========================================================================
 #
+# This script launches the checking of the availability of the files for 
+# the sequences. 
+#
+# After checking, if the script is already running, the todolist is 
+# written by using the macro getdolist.C
+# Then for each sequence the availability of the files (raw, cc, caco) is 
+# checked by using the macro checkfilesavail.C 
+# If this was successful, the status is inserted into the database using 
+# the macro setstatus.C
 #
 
@@ -51,10 +60,17 @@
 cd $mars
 
-if [ -e $todofile ]
-then 
-   echo "checkfilesforsequenceavail is already running -> exit" >> $scriptlog 2>&1
-   exit
-fi
+# check if script is already running
+date > $lockpath/lock-checkfileavail.txt >> $scriptlog 2>&1 
+checklock0=$?
+case $checklock0 in 
+    0)   echo "checklock0=$checklock0 -> continue " >> $scriptlog 2>&1;;
+    1)   echo "checklock0=$checklock0 -> file exists " >> $scriptlog 2>&1
+         echo "-> checkfileavail is running -> exit" >> $scriptlog 2>&1
+         date  >> $scriptlog 2>&1
+         exit;;
+    *)   echo "checklock0=$checklock0 -> something went completely wrong" >> $scriptlog 2>&1;;
+esac
 
+# get todo list
 echo "getting list..." >> $scriptlog 2>&1
 check0=`root -q -b $macrospath/getdolist.C+\("\"$table\""\,"\"$column\""\,"\"$date\""\,"\"$listpath\""\) | tee $getstatuslog | grep int | sed -e 's/(int)//'`
@@ -62,14 +78,18 @@
 case $check0 in 
    1)   echo "check0=$check0 -> everything ok -> do step" >> $scriptlog 2>&1 ;;
-   *)   echo "check0=$check0 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1 ;;
+   *)   echo "check0=$check0 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1
+	rm -v $todofile >> $scriptlog 2>&1
+	rm -v $lockpath/lock-checkfileavail.txt >> $scriptlog 2>&1
+   	date  >> $scriptlog 2>&1
+	exit;;
 esac
 
+# retrieve sequences from todofile
 sequences=(`cat $todofile`)
-
 if [ "$sequences" = "" ]
 then 
    echo "nothing to do -> exit"  >> $scriptlog 2>&1
    rm -v $todofile >> $scriptlog 2>&1
-   rm -v $lockpath/lock-$table-$column.txt >> $scriptlog 2>&1
+   rm -v $lockpath/lock-checkfileavail.txt >> $scriptlog 2>&1
    date  >> $scriptlog 2>&1
    exit
@@ -77,5 +97,4 @@
 
 echo "sequences: "${sequences[@]} >> $scriptlog 2>&1
-
 for sequence in ${sequences[@]}
 do 
@@ -107,5 +126,5 @@
 
 rm -v $todofile  >> $scriptlog 2>&1 
-rm -v $lockpath/lock-$table-$column.txt >> $scriptlog 2>&1
+rm -v $lockpath/lock-checkfileavail.txt >> $scriptlog 2>&1
 
 date  >> $scriptlog 2>&1
