aboutsummaryrefslogtreecommitdiff
path: root/shell/ash_test/ash-signals/signal1.tests
blob: 28bfc6a46c31f696006924d3d9a181a919639a7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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" has 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