#!/bin/sh . $(dirname $0)/preload.sh help() { zaf_err "$0 key cmd" } lkey="$1" [ -z "$lkey" ] && help shift [ -z "${ZAF_LOCK_SECONDS}" ] && seconds=5 [ -z "${ZAF_LOCK_FORCE}" ] && force=1 lockfile="/tmp/zaflock_${lkey}" i=0 while [ -f "$lockfile" ] && [ $i -lt $seconds ]; do sleep 1 i=$(expr $i + 1) done if [ -f "$lockfile" ] && [ -n "$force" ]; then logger -s -t "zlock" -p daemon.warn "Releasing $lockfile!" rm -f "$lockfile" fi if [ -f "$lockfile" ] && [ -z "$force" ]; then logger -s -t "zlock" -p daemon.err "Could not get lock for $lockfile!" exit 1 fi [ -n "$*" ] && $@ 2>"$lockfile" [ -s "$lockfile" ] && zaf_wrn <"$lockfile"