1# weird redirections that caused trouble and were fixed in post-3.0 bash
2stuff()
3{
4	c=1
5	( sleep 5 < /dev/null >/dev/null 2>&1 & ) &
6}
7
8exec 3>&1
9eval `
10exec 4>&1 >&3 3>&-
11{
12	stuff 4>&-
13	echo "c=$c" >&4
14}`
15echo c1 is $c
16
17unset -f stuff
18
19stuff()
20{
21	c=2
22	( sleep 5 < /dev/null >/dev/null 2>&1 & )
23}
24
25exec 3>&1
26eval `
27exec 4>&1 >&3 3>&-
28{
29	stuff 4>&-
30	echo "c=$c" >&4
31}`
32echo c2 is $c
33
34unset -f stuff
35
36stuff()
37{
38	c=3
39	{ sleep 5 < /dev/null >/dev/null 2>&1 & } &
40}
41
42exec 3>&1
43eval `
44exec 4>&1 >&3 3>&-
45{
46	stuff 4>&-
47	echo "c=$c" >&4
48}`
49echo c3 is $c
50
51unset -f stuff
52
53stuff()
54{
55	c=4
56	{ sleep 5 < /dev/null >/dev/null 2>&1 & }
57}
58
59exec 3>&1
60eval `
61exec 4>&1 >&3 3>&-
62{
63	stuff 4>&-
64	echo "c=$c" >&4
65}`
66echo c4 is $c
67
68# fixed in bash-3.1
69echo 'exec <&3' | ${THIS_SH} 3<&0
70