summaryrefslogtreecommitdiff
path: root/gcc/lock-and-run.sh
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2013-05-16 13:41:13 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-05-16 13:41:13 -0400
commit1e5b06335f9f6536c7e889a2b6209f3698f3c2ee (patch)
tree707902698c5428a9019ec89f5723dd6c3deb0f1e /gcc/lock-and-run.sh
parentf14540b6352b1a164ef79ae36d1ae1463efdac46 (diff)
add quotes
From-SVN: r198981
Diffstat (limited to 'gcc/lock-and-run.sh')
-rw-r--r--gcc/lock-and-run.sh9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/lock-and-run.sh b/gcc/lock-and-run.sh
index abefa068a55..3a6a84c253a 100644
--- a/gcc/lock-and-run.sh
+++ b/gcc/lock-and-run.sh
@@ -1,11 +1,14 @@
#! /bin/sh
# Shell-based mutex using mkdir.
-lockdir=$1 prog=$2; shift 2 || exit 1
-count=0
+lockdir="$1" prog="$2"; shift 2 || exit 1
+
# Remember when we started trying to acquire the lock.
+count=0
touch lock-stamp.$$
+
trap 'rm -r "$lockdir" lock-stamp.$$' 0
+
until mkdir "$lockdir" 2>/dev/null; do
# Say something periodically so the user knows what's up.
if [ `expr $count % 30` = 0 ]; then
@@ -24,6 +27,8 @@ until mkdir "$lockdir" 2>/dev/null; do
sleep 1
count=`expr $count + 1`
done
+
echo $prog "$@"
$prog "$@"
+
# The trap runs on exit.