From: martin f. krafft Date: Fri, 14 Mar 2008 08:55:33 +0000 (+0100) Subject: add and fix locking X-Git-Url: https://git.madduck.net/etc/mailfilter.git/commitdiff_plain/48789abfb13b0713aeb5c60e7be3961322ce6181?hp=f1e2a8d4676f834f1eb06cc9ca66a8998e03aabf add and fix locking --- diff --git a/bin/release-delayed-messages b/bin/release-delayed-messages index 61abd85..cdb6da4 100755 --- a/bin/release-delayed-messages +++ b/bin/release-delayed-messages @@ -5,5 +5,14 @@ DELAYED_QUEUE=$HOME/.maildir/.delayed DIR="${0%/*}" +VAR=$HOME/.var/procmail +ME="${0##*/}" +LOCKFILE="$VAR/.$ME.lock" +trap "rm -f $LOCKFILE" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 +if ! lockfile -0 -r0 -l 3600 "$LOCKFILE" 2>/dev/null; then + echo "E: another $ME process is already running over that Maildir." >&2 + exit 1 +fi + "$DIR"/list-postponed-messages --all "$DELAYED_QUEUE" \ | exec xargs "$DIR"/resubmit --list diff --git a/bin/resubmit-postponed-messages b/bin/resubmit-postponed-messages index 1ea3100..df5663e 100755 --- a/bin/resubmit-postponed-messages +++ b/bin/resubmit-postponed-messages @@ -6,5 +6,14 @@ TICKLER_QUEUE=$HOME/.maildir/.store DIR="${0%/*}" +VAR=$HOME/.var/procmail +ME="${0##*/}" +LOCKFILE="$VAR/.$ME.lock" +trap "rm -f $LOCKFILE" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 +if ! lockfile -0 -r0 -l 3600 "$LOCKFILE" 2>/dev/null; then + echo "E: another $ME process is already running over that Maildir." >&2 + exit 1 +fi + "$DIR"/list-postponed-messages "$TICKLER_QUEUE" "$DELAYED_QUEUE" \ | exec xargs "$DIR"/resubmit --list diff --git a/bin/retrain b/bin/retrain index 784f17e..e7acbea 100755 --- a/bin/retrain +++ b/bin/retrain @@ -49,10 +49,11 @@ case "$HAM/$SPAM" in esac if [ -n "$maildir" ]; then - LOCKFILE="$maildir/.retrain.lock" + ME="${0##*/}" + LOCKFILE="$maildir/.$ME.lock" trap "rm -f $LOCKFILE" 1 2 3 4 5 6 7 8 10 11 12 13 14 15 if ! lockfile -0 -r0 -l 3600 "$LOCKFILE" 2>/dev/null; then - echo "E: another retrain process is already running over that Maildir." >&2 + echo "E: another $ME process is already running over that Maildir." >&2 exit 1 fi diff --git a/bin/send-outgoing b/bin/send-outgoing index 244218f..1d5f800 100755 --- a/bin/send-outgoing +++ b/bin/send-outgoing @@ -7,10 +7,11 @@ DISCARD_RECORD=~/.maildir/.discard DONT_STORE=1 -LOCKFILE="$OUTBOX/.sendmail.lock" +ME="${0##*/}" +LOCKFILE="$OUTBOX/.$ME.lock" trap "rm -f $LOCKFILE" 1 2 3 4 5 6 7 8 10 11 12 13 14 15 if ! lockfile -0 -r0 -l 3600 "$LOCKFILE" 2>/dev/null; then - echo "E: another sendmail process is already running over that Maildir." >&2 + echo "E: another $ME process is already running over that Maildir." >&2 exit 1 fi