X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/5950d5c4e05d47338e97a80dfa0909bf9c870ee5..83f1b1c72bbd2d641b54110bd5fe8c301eade5a7:/bin/release-delayed-messages

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