summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/runqemu-internal19
1 files changed, 7 insertions, 12 deletions
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index dfdde05e24..33fedc6c4b 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -112,18 +112,12 @@ acquire_lock() {
112 return 1 112 return 1
113 fi 113 fi
114 114
115 if [ -e "$lockfile.lock" ]; then 115 touch $lockfile.lock
116 # Check that the lockfile is not stale 116 exec 8>$lockfile.lock
117 ps=`ps -eo pid | grep $(cat $lockfile.lock)` 117 flock -n -x 8
118 if [ -z "$ps" ]; then 118 if [ $? -ne 0 ]; then
119 echo "WARNING: Stale lock file detected, deleting $lockfile.lock." 119 exec 8>&-
120 rm -f $lockfile.lock 120 return 1
121 echo $$ > $lockfile.lock
122 else
123 return 1
124 fi
125 else
126 echo $$ > $lockfile.lock
127 fi 121 fi
128 122
129 return 0 123 return 0
@@ -137,6 +131,7 @@ release_lock() {
137 fi 131 fi
138 132
139 rm -f $lockfile.lock 133 rm -f $lockfile.lock
134 exec 8>&-
140} 135}
141 136
142LOCKDIR="/tmp/qemu-tap-locks" 137LOCKDIR="/tmp/qemu-tap-locks"