Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/lib/intentions-queue
diff options
context:
space:
mode:
Diffstat (limited to 'lib/intentions-queue')
-rwxr-xr-xlib/intentions-queue9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/intentions-queue b/lib/intentions-queue
index 802d1ca..f244e1b 100755
--- a/lib/intentions-queue
+++ b/lib/intentions-queue
@@ -40,6 +40,7 @@ intent_something() {
# shellcheck disable=SC2016
printf '%s\n' \
'#!/bin/sh' \
+ '# called by '"${0}" \
'[ -n "${base_dir}" ] || . '"${base_dir}"'/lib/load-configuration'
cat
printf 'rm "%s"\n' "${intentions_directory}/intention.${next_number}"
@@ -91,7 +92,15 @@ intentions_left() {
# execute_all_intentions
# executes all intentions
execute_all_intentions() {
+ exec 6> "${intentions_lock_file}"
+ if ! verbose_flock 6; then
+ >&2 echo 'someone already executes intentions - no need to schedule a second run'
+ return
+ fi
+
while intentions_left -n; do
execute_intention
done
+
+ flock -u 6
}