diff options
author | cracauer <cracauer@FreeBSD.org> | 1998-09-08 13:16:52 +0000 |
---|---|---|
committer | cracauer <cracauer@FreeBSD.org> | 1998-09-08 13:16:52 +0000 |
commit | b1a46a64f829789406b9192367e98c3e10a73a4e (patch) | |
tree | f51c694206a7892088fd5524f3f67bfcfe6d6fb0 /bin/sh/jobs.h | |
parent | 2fb5d649f8cd92ceccd7e5cc137dbee19c2ed487 (diff) | |
download | FreeBSD-src-b1a46a64f829789406b9192367e98c3e10a73a4e.zip FreeBSD-src-b1a46a64f829789406b9192367e98c3e10a73a4e.tar.gz |
If traps are set, they are now executed even when a signal-blocking
foreground child is running. Formerly, traps were exceuted after the
next child exit.
The enables the user to put a breaking wrapper around a blocking
application:
(trap 'echo trap ; exit 1' 2; ./pestyblocker; echo -n)
The "echo -n" after the child call is needed to prevent sh from
optimizing the trap-executing shell away. I'm working on this.
Diffstat (limited to 'bin/sh/jobs.h')
-rw-r--r-- | bin/sh/jobs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/sh/jobs.h b/bin/sh/jobs.h index b164b2f2..7b1d431 100644 --- a/bin/sh/jobs.h +++ b/bin/sh/jobs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)jobs.h 8.2 (Berkeley) 5/4/95 - * $Id: jobs.h,v 1.7 1998/08/24 10:20:36 cracauer Exp $ + * $Id: jobs.h,v 1.8 1998/08/25 09:33:34 cracauer Exp $ */ /* Mode argument to forkshell. Don't change FORK_FG or FORK_BG. */ @@ -79,6 +79,7 @@ struct job { extern pid_t backgndpid; /* pid of last background process */ extern int job_warning; /* user was warned about stopped jobs */ extern int in_waitcmd; /* are we in waitcmd()? */ +extern int in_dowait; /* are we in dowait()? */ extern volatile sig_atomic_t breakwaitcmd; /* should wait be terminated? */ void setjobctl __P((int)); |