0101-signal.sh - scc - simple c99 compiler
 (HTM) git clone git://git.simple-cc.org/scc
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       0101-signal.sh (457B)
       ---
            1 #!/bin/sh
            2 
            3 cleanup()
            4 {
            5         rm -f test.txt
            6         kill -KILL $pid 2>/dev/null
            7         if test $1 -ne 0
            8         then
            9                 kill -KILL $$
           10         fi
           11 }
           12 
           13 rm -f file.txt
           14 trap 'cleanup 0' EXIT
           15 trap 'cleanup 1' INT TERM HUP
           16 
           17 scc make -qf - test.txt <<'EOF' &
           18 test.txt:
           19         @+touch $@
           20         +@while : ; do sleep 1 ; done
           21 EOF
           22 pid=$!
           23 
           24 sleep 10 && echo timeout >&2 && kill $$ 2>/dev/null &
           25 timer=$!
           26 
           27 while :
           28 do
           29         if test -f test.txt
           30         then
           31                 kill $pid
           32                 wait $pid
           33                 kill $timer
           34                 break
           35         fi
           36 done
           37 
           38 test -f test.txt