]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
1) Fix longstanding bug:
authorache <ache@FreeBSD.org>
Wed, 5 Nov 1997 23:33:58 +0000 (23:33 +0000)
committerache <ache@FreeBSD.org>
Wed, 5 Nov 1997 23:33:58 +0000 (23:33 +0000)
commit01ee8c1bbd572a2ffb261644cf14d996132f0e26
tree4bf75822673f433672c5081f85ae88b735f12def
parente0049830ed0b4fdadbd11c56d8c80e4c5bb0b71d
1) Fix longstanding bug:
trap 'echo xxx' 1 2 3 15
read x
is not interrupted by ^C (due to restartable read syscall) and must be
interrupted per POSIX
Worse case:
read -t 5 x
hangs forever after ^C pressed (supposed to timeout after 5 secs)
Fixed by adding siginterrupt(signo, 1) after catch handler installed

2) Do not reinstall sighandler immediately after it is called,
BSD do it for us
bin/sh/trap.c