exec >$HOME/check-commit.log 2>&1
echo pwd=`pwd`
echo '$0'=\"$0\"
echo '$-'=\"$-\"
echo '$$'=\"$$\"
ps -O pgid -p $$
for arg in "$@"; do
    echo arg=\"$arg\"
done

set -x -m

topSrcDir=`dirname $0`

if cd $topSrcDir; then
    (
	#
	# Allow only one process to proceed.
	#
	while ! ln -s /dev/null check-commit.ln 2>/dev/null
	do
	    sleep 10
	done

	trap 'rm -f check-commit.ln' EXIT
	trap 'exit 1' HUP INT QUIT TERM

	if test -f check-commit.pid; then
	    pid=`cat check-commit.pid`
	    kill -- -$pid
	    while kill -n 0 $pid
	    do
		sleep 1
	    done
	fi

	echo $! >check-commit.pid
	trap 'rm -f check-commit.pid' EXIT

	#
	# Allow another process to proceed.
	#
	rm check-commit.ln

	sleep 300
	make remote-checks 2>&1 | ssh zero mailx \
	    -s '"UDUNITS-2: \"make remote-checks\" output"' \
	    $USER@unidata.ucar.edu
    ) &
fi
