[317] in Athena Bugs
^C in csh (6.0 machines)
daemon@ATHENA.MIT.EDU (John D. Kubiatowicz)
Tue May 3 21:08:05 1988
To: bugs@ATHENA.MIT.EDU, henry@ATHENA.MIT.EDU, tytso@ATHENA.MIT.EDU
Date: Tue, 03 May 88 21:05:34 EDT
From: John D. Kubiatowicz <kubitron@ATHENA.MIT.EDU>
Actually, the answer is not that ^C always works, but that it interrupts the
current process and not the shell command. Thus, you have to press ^C several
times in quick succession to get a repeat or foreach to terminate. For
instance:
kubitron@AlefNull(42)% repeat 200 time dd if=/usr/bin/X11/emacs of=/dev/null
2776+0 records in
2776+0 records out
18.3u 7.0s 0:39 64% 3+3k 353+2io 0pf+0w
^C232+0 records in
232+0 records out
1.6u 0.6s 0:04 57% 3+4k 44+2io 0pf+0w
^C151+0 records in
151+0 records out
1.0u 0.2s 0:01 93% 4+4k 3+1io 0pf+0w
^C145+0 records in
145+0 records out
1.0u 0.1s 0:01 92% 3+4k 3+1io 0pf+0w
^C120+0 records in
120+0 records out
0.8u 0.1s 0:01 89% 3+4k 3+1io 0pf+0w
^C67+0 records in
67+0 records out
0.4u 0.1s 0:00 84% 5+5k 3+1io 0pf+0w
^C5+0 records in
5+0 records out
0.0u 0.0s 0:00 42% 10+11k 3+1io 0pf+0w
^C248+0 records in
^C248+0 records out
1.6u 0.2s 0:02 85% 3+4k 5+1io 0pf+0w
^C0.0u 0.0s 0:00 21% 19+21k 3+1io 0pf+0w
The bottom line here is that the shell is not always catching the SIGINT.
I broke out of the above loop by hitting ^C several times in succession.
In the past, I have had instances where the shell would not break, reguardless
of the speed with which I hit ^C.
--KUBI--