]> git.treefish.org Git - backmeupscotty.git/commitdiff
Use flock for locking.
authorAlexander Schmidt <alex@treefish.org>
Wed, 11 Feb 2015 20:13:59 +0000 (21:13 +0100)
committerAlexander Schmidt <alex@treefish.org>
Wed, 11 Feb 2015 20:13:59 +0000 (21:13 +0100)
backmeupscotty

index be1ce209a4de43dba7ad413ce52cc98a3d9f0fc9..44e9c54ae878f3be7eeba2e900a46cb3dcb528e7 100644 (file)
@@ -125,12 +125,6 @@ function scottysync {
     done
 }
 
-function deleteLock {
-    if ! rmdir /tmp/$(basename $0).lock; then
-       scottyerror "Could not delete lockfile /tmp/$(basename $0).lock!"
-    fi
-}
-
 function prepare {
     scottyinfo "Preparing for sync."
 }
@@ -145,8 +139,6 @@ function cleanup_abort {
        kill $(jobs -p)
     fi
 
-    deleteLock
-
     exit
 }
 
@@ -158,11 +150,6 @@ function prepare {
     scottyinfo "No prepare function was defined."
 }
 
-function cleanup_normal {
-    cleanup
-    deleteLock
-}
-
 function printhelp {
     cat <<EOF
 Usage: $(basename $0) [OPTION]...
@@ -208,14 +195,14 @@ function backmeupscotty {
     prepare
     scottysync
 
-    trap cleanup_normal EXIT
+    trap cleanup EXIT
 
     exit 0
 }
 
-if ! mkdir /tmp/$(basename $0).lock; then
+exec 200>/var/run/$(basename $0).pid
+if ! flock -n 200; then
     scottyerror "Another instance of $(basename $0) is still running!"
     exit 1
-else
-    trap deleteLock EXIT
 fi
+echo $$ 1>&200