freebsd-nq/bin/sh
Jilles Tjoelker 9922c6d2d5 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.
2009-11-22 18:23:30 +00:00
..
bltin
funcs
alias.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
alias.h
arith_lex.l sh: Fix memory leak when using a variable in arithmetic like $((x)). 2009-11-05 20:44:39 +00:00
arith.h
arith.y
builtins.def
cd.c Handle current work directories of arbitrary length. The argument to cd 2009-11-21 14:53:22 +00:00
cd.h
error.c Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
error.h Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
eval.c Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
eval.h Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND. 2009-06-13 21:17:45 +00:00
exec.c sh: Send the "xyz: not found" message to redirected fd 2. 2009-10-06 22:00:14 +00:00
exec.h sh: Fix crash when undefining or redefining a currently executing function. 2009-08-23 21:09:46 +00:00
expand.c sh: Exempt $@ and $* from set -u 2009-10-24 21:20:04 +00:00
expand.h
histedit.c sh: Some changes to stderr flushing: 2009-11-21 14:28:32 +00:00
init.h
input.c sh: Ensure the same command input file is on top after executing a builtin. 2009-11-22 14:04:20 +00:00
input.h sh: Ensure the same command input file is on top after executing a builtin. 2009-11-22 14:04:20 +00:00
jobs.c sh: Some changes to stderr flushing: 2009-11-21 14:28:32 +00:00
jobs.h
mail.c
mail.h
main.c sh: Some changes to stderr flushing: 2009-11-21 14:28:32 +00:00
main.h
Makefile
memalloc.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
memalloc.h be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
miscbltin.c Usermode portion of the support for swap allocation accounting: 2009-06-23 20:57:27 +00:00
mkbuiltins
mkinit.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
mknodes.c sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
mksyntax.c use explicit 'unsigned int' instead of just the implicit-style 'unsigned' to make linting tools (e.g. FlexeLint) happy, too 2009-06-01 11:38:38 +00:00
mktokens
myhistedit.h
mystring.c
mystring.h
nodes.c.pat sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
nodetypes
options.c
options.h
output.c sh: Some changes to stderr flushing: 2009-11-21 14:28:32 +00:00
output.h sh: Some changes to stderr flushing: 2009-11-21 14:28:32 +00:00
parser.c Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
parser.h
redir.c Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
redir.h
sh.1 sh: Exempt $@ and $* from set -u 2009-10-24 21:20:04 +00:00
shell.h
show.c
show.h
TOUR
trap.c trap: do not consider a bad signal name a fatal error. 2009-11-21 20:44:34 +00:00
trap.h Don't skip forking for an external command if any traps are active. 2009-06-13 21:10:41 +00:00
var.c Fix various things about SIGINT handling: 2009-11-22 18:23:30 +00:00
var.h