On Sun, 12 Sep 2010, Cristian Ionescu-Idbohrn wrote: > On Sun, 12 Sep 2010, Denys Vlasenko wrote: > > > I definitely see current ash and hush to react to ^C at once. > > I don't (after 'git pull') > > > I also tested Rob's prebuilt busybox-i486 binary (v.1.17.2) from > > http://impactlinux.com/aboriginal/downloads/binaries/extras/ > > Here is test runs: > > > > # ./busybox-i486 ash z > > running: z > > ^Cin : wrapper_func > > in : wrapper_func > > 1. : wrapper_func: listing traps > > trap -- 'wrapper_func' INT > > trap -- 'wrapper_func' TERM > > 2. : wrapper_func: removing traps > > 3. : wrapper_func: listing traps again > > in : other_func > > ls: cannot access /foo/bar/baz: No such file or directory > > out: other_func > > out: wrapper_func > > 1. : wrapper_func: listing traps > > 2. : wrapper_func: removing traps > > 3. : wrapper_func: listing traps again > > in : other_func > > ls: cannot access /foo/bar/baz: No such file or directory > > out: other_func > > out: wrapper_func > > running: trap-test3.sh, pid: 23879 > ^Cin : wrapper_func > 0. : wrapper_func: interrupted > 1. : wrapper_func: traps list > trap -- 'wrapper_func' INT > trap -- 'wrapper_func' TERM > 2.1: wrapper_func: INT trap removed > 2.2: wrapper_func: TERM trap removed > 3. : wrapper_func: listing traps again > in : other_func > ls: /foo/bar/baz: No such file or directory > out: other_func > out: wrapper_func > in : wrapper_func > 0. : wrapper_func: interrupted > out: wrapper_func > > Still not showing the EXIT trap and running twice, but behaves. > > > # ./busybox-i486 hush z > > hush: set: -e: invalid option > > hush: set: -u: invalid option > > running: z > > ^C > > in : wrapper_func > > 1. : wrapper_func: listing traps > > trap -- 'wrapper_func' EXIT > > trap -- 'wrapper_func' INT > > trap -- 'wrapper_func' TERM > > 2. : wrapper_func: removing traps > > 3. : wrapper_func: listing traps again > > in : other_func > > ls: cannot access /foo/bar/baz: No such file or directory > > out: other_func > > out: wrapper_func > > hush: set: -e: invalid option > hush: set: -u: invalid option > running: trap-test3.sh, pid: 23618 > ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Cin : wrapper_func > 1. : wrapper_func: traps list > trap -- 'wrapper_func' EXIT > trap -- 'wrapper_func' INT > trap -- 'wrapper_func' TERM > 2.1: wrapper_func: EXIT trap removed > 2.2: wrapper_func: INT trap removed > 2.3: wrapper_func: TERM trap removed > 3. : wrapper_func: listing traps again > in : other_func > ls: /foo/bar/baz: No such file or directory > out: other_func > out: wrapper_func > > Slightly modified test script, attached. Still, SIGINT not catched, looks > like. I even did a 'distclean' and rebuilt. > > > # ./busybox-i486 > > BusyBox v1.17.2 (2010-09-05 04:58:49 CDT) multi-call binary. > > ... > > ./busybox_unstripped > BusyBox v1.18.0.git (2010-09-12 18:25:22 CEST) multi-call binary. > > > I don't see this in my experiments. > > I do. Wonder what the cause is. I guess gcc is different: > > gcc-4.4.real (Debian 4.4.4-14) 4.4.5 20100909 (prerelease) > > > What version and .config do you use? > > # Automatically generated make config: don't edit > # Busybox version: 1.18.0.git > # Sun Sep 12 18:25:22 2010
And back to something like previous test (ie. no sleep backgrounding and 'wait $!', just straight sleep): ash: running: trap-test3.sh, pid: 30496 ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Cin : wrapper_func 1. : wrapper_func: traps list trap -- 'wrapper_func' EXIT trap -- 'wrapper_func' INT trap -- 'wrapper_func' TERM 2.1: wrapper_func: EXIT trap removed 2.2: wrapper_func: INT trap removed 2.3: wrapper_func: TERM trap removed 3. : wrapper_func: listing traps again in : other_func ls: /foo/bar/baz: No such file or directory out: other_func out: wrapper_func hush: hush: set: -e: invalid option hush: set: -u: invalid option running: trap-test3.sh, pid: 30502 ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Cin : wrapper_func 1. : wrapper_func: traps list trap -- 'wrapper_func' EXIT trap -- 'wrapper_func' INT trap -- 'wrapper_func' TERM 2.1: wrapper_func: EXIT trap removed 2.2: wrapper_func: INT trap removed 2.3: wrapper_func: TERM trap removed 3. : wrapper_func: listing traps again in : other_func ls: /foo/bar/baz: No such file or directory out: other_func out: wrapper_func Cheers, -- Cristian _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
