Date: Sun, 22 Nov 2009 18:23:30 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/bin/sh error.c error.h eval.c parser.c redir.c var.c Message-ID: <200911221823.nAMINgLS035448@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jilles 2009-11-22 18:23:30 UTC
FreeBSD src repository
Modified files:
bin/sh error.c error.h eval.c parser.c redir.c
var.c
Log:
SVN rev 199660 on 2009-11-22 18:23:30Z by jilles
Fix various things about SIGINT handling:
* exception handlers are now run with interrupts disabled, which avoids
many race conditions
* fix some cases where SIGINT only aborts one command and continues the
script, in particular if a SIGINT causes an EINTR error which trumped the
interrupt.
Example:
sh -c 'echo < /some/fifo; echo This should not be printed'
The fifo should not have writers. When pressing ctrl+c to abort the open,
the shell used to continue with the next command.
Example:
sh -c '/bin/echo < /some/fifo; echo This should not be printed'
Similar. Note, however, that this particular case did not and does not work
in interactive mode with job control enabled.
Revision Changes Path
1.27 +13 -2 src/bin/sh/error.c
1.18 +2 -0 src/bin/sh/error.h
1.69 +1 -1 src/bin/sh/eval.c
1.68 +1 -1 src/bin/sh/parser.c
1.28 +5 -2 src/bin/sh/redir.c
1.40 +3 -0 src/bin/sh/var.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911221823.nAMINgLS035448>
