3dc4a3e4dc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
29 lines
578 B
Plaintext
Executable File
29 lines
578 B
Plaintext
Executable File
trap "echo got signal" USR1
|
|
|
|
for try in 1 2 3 4 5; do
|
|
kill -USR1 $$
|
|
sleep 0.2
|
|
echo "sent $try signal"
|
|
done &
|
|
|
|
# Ensure "wait" have something to wait for
|
|
sleep 2 &
|
|
|
|
# Ensure we do not execute "trap" below before "kill -USR1" above
|
|
# (was getting failure on loaded machine without this)
|
|
sleep 0.1
|
|
|
|
sleeping=true
|
|
while $sleeping; do
|
|
trap
|
|
if wait %%; then
|
|
echo "sleep completed"
|
|
sleeping=false
|
|
elif [ $? == 127 ]; then
|
|
echo "BUG: no processes to wait for?!"
|
|
sleeping=false
|
|
else
|
|
echo "wait interrupted"
|
|
fi
|
|
done
|