[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4467/8267] build-perf-test-wrapper.sh: implement locking



commit 42eace0770242b5aa716f87f5f0af3a4fe3c3e29
Author: Markus Lehtonen <markus lehtonen linux intel com>
Date:   Thu Feb 2 12:42:12 2017 +0200

    build-perf-test-wrapper.sh: implement locking
    
    In order to prevent multiple instances of the script running at the same
    time.
    
    (From OE-Core rev: 96a194de890f7ef1e6e5e036b32848e0f9d1bcf5)
    
    Signed-off-by: Markus Lehtonen <markus lehtonen linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/contrib/build-perf-test-wrapper.sh |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/scripts/contrib/build-perf-test-wrapper.sh b/scripts/contrib/build-perf-test-wrapper.sh
index e03ea97..a4c1929 100755
--- a/scripts/contrib/build-perf-test-wrapper.sh
+++ b/scripts/contrib/build-perf-test-wrapper.sh
@@ -67,6 +67,17 @@ if [ $# -ne 0 ]; then
     exit 1
 fi
 
+# Open a file descriptor for flock and acquire lock
+LOCK_FILE="/tmp/oe-build-perf-test-wrapper.lock"
+if ! exec 3> "$LOCK_FILE"; then
+    echo "ERROR: Unable to open lock file"
+    exit 1
+fi
+if ! flock -n 3; then
+    echo "ERROR: Another instance of this script is running"
+    exit 1
+fi
+
 echo "Running on `uname -n`"
 if ! git_topdir=$(git rev-parse --show-toplevel); then
         echo "The current working dir doesn't seem to be a git clone. Please cd there before running 
`basename $0`"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]