freebsd-dev/bin/sh
Martin Cracauer adce2a1b4b Fix child's SIGSTOP behaviour in scripts.
When a child is receiving SIGSTOP, eval continues with the next
command.  While that is correct for the interactive case (Control-Z
and you get the prompt back), it is wrong for a shellscript, which
just continues with the next command, never again waiting for the
stopped child.  Noted when childs from cronjobs were stopped, just to
make more processes (by wosch).

The fix is not to return from a job wait when the wait returned for a
stopped child while in non-interactive mode.  This bahaviour seems to
be what bash2 and ksh implement.  I tested for correct behaviour for
finnaly killing the child with and without forgrounding it first.
When not foregrouding before killing, the shell continues with the
script, which is what the other shells do as well.

Reviewed by:	Silence on -current
2001-02-06 10:29:34 +00:00
..
bltin Add \a and \e to "echo -e" escape handling. 2000-06-26 22:43:30 +00:00
funcs $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
alias.c Fixd with alias missing. 2000-07-15 14:34:37 +00:00
alias.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
arith_lex.l Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
arith.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
arith.y $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
builtins.def $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
cd.c Include strerror(errno) in error messages after failed system calls. 1999-11-29 19:11:01 +00:00
cd.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
error.c Include strerror(errno) in error messages after failed system calls. 1999-11-29 19:11:01 +00:00
error.h Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
eval.c Implement the <> redirection operator. 2000-10-03 23:13:14 +00:00
eval.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
exec.c Fix type builtin for absolute paths and relative paths with directory 2000-08-16 12:08:02 +00:00
exec.h Fix command hash handling on 1999-12-20 13:42:59 +00:00
expand.c Fix environment passung to eval'ed commands. 2000-05-15 12:33:17 +00:00
expand.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
histedit.c Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
init.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
input.c Include strerror(errno) in error messages after failed system calls. 1999-11-29 19:11:01 +00:00
input.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
jobs.c Fix child's SIGSTOP behaviour in scripts. 2001-02-06 10:29:34 +00:00
jobs.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
machdep.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
mail.c $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
mail.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
main.c From submitter: 2000-08-16 10:39:43 +00:00
main.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
Makefile Improve shell documentation: 1999-09-08 15:40:46 +00:00
memalloc.c From submitter: 2000-08-16 10:39:43 +00:00
memalloc.h From submitter: 2000-08-16 10:39:43 +00:00
miscbltin.c Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
mkbuiltins Use secure temporary filenames during build. 2000-11-22 11:05:51 +00:00
mkinit.c Include strerror(errno) in error messages after failed system calls. 1999-11-29 19:11:01 +00:00
mknodes.c Include strerror(errno) in error messages after failed system calls. 1999-11-29 19:11:01 +00:00
mksyntax.c First round of 8-bit fixes. 1999-12-15 11:46:32 +00:00
mktokens Use secure temporary filenames during build. 2000-11-22 11:05:51 +00:00
myhistedit.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
mystring.c $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
mystring.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
nodes.c.pat $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
nodetypes Implement the <> redirection operator. 2000-10-03 23:13:14 +00:00
options.c Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
options.h Fix warnings, some of them serious because sh violated name 2000-04-20 09:49:16 +00:00
output.c $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
output.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
parser.c Implement the <> redirection operator. 2000-10-03 23:13:14 +00:00
parser.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
redir.c Implement the <> redirection operator. 2000-10-03 23:13:14 +00:00
redir.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
sh.1 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
shell.h Rename the trace() function (that is build only in the -DDEBUG=2 2000-04-20 11:39:11 +00:00
show.c Implement the <> redirection operator. 2000-10-03 23:13:14 +00:00
show.h Rename the trace() function (that is build only in the -DDEBUG=2 2000-04-20 11:39:11 +00:00
TOUR $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
trap.c $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
trap.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
var.c $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
var.h $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00