]> asedeno.scripts.mit.edu Git - sipb-mirrors.git/commitdiff
Use flock(1) instead of lockfile(1) to acquire locks.
authorLizhou Sha <slz@mit.edu>
Sun, 25 Oct 2015 03:06:40 +0000 (23:06 -0400)
committerLizhou Sha <slz@mit.edu>
Sun, 25 Oct 2015 03:29:40 +0000 (23:29 -0400)
Signed-off-by: Lizhou Sha <slz@mit.edu>
fetch-hudson

index d21466f204c82109a0355a9e9895811f1b2abd71..3a18fde4dfb78b1bfc0ab665b9f319ed318db954 100755 (executable)
@@ -23,15 +23,14 @@ rsync --version
 
 date +"Starting $scriptname: %c"
 
-#NB: -r is number of retries, at 8 second intervals
-if lockfile -r 900 "$MIRRORDIR/.locks/$scriptname"; then
+# Use flock(1) in exclusive mode, waiting up to 5 minutes.
+(
+    flock -x -w 300 200 || exit 1
     date +"Received lock: %c"
     (. fetch-scripts/"$scriptname") && :
-    exitstatus=$?
-    rm -f "$MIRRORDIR/.locks/$scriptname"
-else
-    exit 1
-fi
+    exit $?
+) 200>"$MIRRORDIR/.locks/$scriptname"
 
+exitstatus=$?
 date +"Done: %c"
 exit $exitstatus