0100-signal.sh - scc - simple c99 compiler
HTML git clone git://git.simple-cc.org/scc
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
0100-signal.sh (475B)
---
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 -f - test.txt <<'EOF' &
18 .PRECIOUS: test.txt
19
20 test.txt:
21 @touch $@
22 @while : ; do sleep 1 ; done
23 EOF
24 pid=$!
25
26 sleep 10 && echo timeout >&2 && kill $$ 2>/dev/null &
27 timer=$!
28
29 while :
30 do
31 if test -f test.txt
32 then
33 kill $pid
34 wait $pid
35 kill $timer
36 break
37 fi
38 done
39
40 test -f test.txt