#!/bin/sh | |||||
locker() { | |||||
while ! mlock; do | |||||
echo "mlock died!!! $?" | |||||
sleep 0.5 | |||||
done | |||||
} | |||||
matcher() { | |||||
while ! ./facematcher.py match -d 2 faces/martin/*; do | |||||
echo "facematcher died!!! $?" | |||||
sleep 2 | |||||
done | |||||
} | |||||
trap 'kill $(jobs -p)' EXIT | |||||
locker & | |||||
lockerpid=$! | |||||
matcher & | |||||
matcherpid=$! | |||||
while :; do | |||||
if ! kill -0 $lockerpid; then | |||||
kill $matcherpid | |||||
wait | |||||
exit 0 | |||||
elif ! kill -0 $matcherpid; then | |||||
kill $lockerpid | |||||
pkill i3lock | |||||
wait | |||||
exit 0 | |||||
fi | |||||
sleep 1 | |||||
done |