]> git.donarmstrong.com Git - wannabuild.git/blob - bin/process-triggers
Auto-committed schema changes.
[wannabuild.git] / bin / process-triggers
1 #!/bin/bash
2 # vim:set et ts=4 sw=4:
3
4 LOCKFILE=/org/wanna-build/triggers/lock
5
6 set -eE
7
8 cleanup() {
9     rm -rf "$LOCKFILE"
10 }
11
12 if ! lockfile -0 -r0 "$LOCKFILE" 2>/dev/null
13 then
14     # Process already running.
15     exit 0
16 fi
17
18 # Got the lock.
19 trap cleanup ERR TERM HUP INT QUIT EXIT
20
21 # Do at least one run.
22 work=1
23 while [ $work -eq 1 ]
24 do
25     # No further runs unless at least one signal is found.
26     work=0
27     find /org/wanna-build/signals -type f | while read signal_file
28     do
29         # Process it.
30         work=1
31         signal=$(basename $signal_file)
32         /org/wanna-build/triggers/trigger.${signal/.?*} ${signal/?*./}
33         rm $signal_file
34     done
35 done
36
37 exit 0
38