christos
f629aa28d9
implement noclobber. From Ben Harris, with minor tweaks from me. Two
...
unimplemented comments to go. Go Ben!
2002-05-15 16:33:35 +00:00
christos
de525ac6ca
Try harder to find a tty.
2002-04-10 15:52:07 +00:00
christos
e6ab6d48dc
PR/16174: Matthias Buelow: Job control fails on jobs that fd == 2 does not
...
point to a tty.
Unfortunately the shell assumed that it could do all process group
handling ioctls to fd=2, but this is not correct. Jobs that redirected
fd=2 would be unable to perform the ioctls and silently fail since
the error reporting channel is fd=2... Instead open /dev/tty set
it to close on exec, and use that instead (like all other shells
do). We don't handle the case where the OS does not provide FD_CLOEXEC
or FIOCLEX, because I am lazy.
While I am there:
- Simplify the code by defining functions for tc{g,s}pgrp when OLD_TTY_DRIVER
is defined.
- make sure that 'sh &' works by stopping itself. Don't kill the shell's
process group, kill the shell itself.
2002-04-03 14:30:44 +00:00
christos
c910c75b83
PR/16010: Andreas Gustafsson: wait is not interruptible.
2002-03-22 19:50:42 +00:00
simonb
668ba50fa3
In forkshell() don't free the current job. Fixes problem with previous
...
commit where pipeline commands didn't inherit the correct process group.
Reviewed by Christos.
Change a trace format string arg to use %p instead of %x and a long cast.
2002-03-12 03:45:02 +00:00
christos
bac9369a06
PR/15877: Ed Ravin: make sure that we cleanup enough of the job structure,
...
in jobfree() so that we don't fail when we use a malloc where free() trashes
freed memory.
2002-03-12 00:44:16 +00:00
wiz
456dff6cb8
Spell 'occurred' with two 'r's.
2001-09-16 16:34:23 +00:00
assar
50ed29b359
(waitproc): handle jp == NULL, it happens
2001-09-13 21:33:05 +00:00
christos
a7560f06ec
Don't wait with UNTRACED for jobs that have not been started with job control
...
(i.e. processes started from shell scripts). Fixes problem where kill -STOP'ing
a subprocess of a shell script would cause the shell to proceed to the next
command.
2001-09-10 15:47:03 +00:00
lukem
c0b18597d8
fix grammar
2001-06-13 08:48:06 +00:00
elric
e6bccfe4be
Back out previous vfork changes.
2000-05-22 10:18:46 +00:00
elric
e8b0f2b813
INTON and FORCEINTON modify global variables, and so should not be
...
executed while we are vforked.
2000-05-15 03:42:48 +00:00
elric
0eece24a3a
Unused variable pgrp on line 576.
2000-05-13 20:59:41 +00:00
elric
756a2ca1bd
Now we use vfork(2) instead of fork(2) when we can.
2000-05-13 20:50:14 +00:00
mycroft
2806df576c
It turns out that the code disabled in revision 1.30 *does* have an important
...
function (which nobody was able to explain): it's critical to allowing a
complex command run from an interactive shell to be terminated. So, reinstate
it and fix it correctly. See the comment if you really want the gory details.
1999-08-31 08:58:47 +00:00
christos
3d42469030
compile with WARNS = 2
1999-07-09 03:05:49 +00:00
mycroft
c06643b836
Disable bogus-looking code that cause us to throw away SIGINTs.
1999-04-05 14:59:35 +00:00
christos
6e50d7a816
PR/4966: Joel Reicher: Implement <> redirections which are documented in
...
the man page.
1999-02-04 16:17:39 +00:00
mycroft
ee9e50eacb
Be more retentive about use of NOTREACHED and noreturn.
1998-07-28 11:41:40 +00:00
christos
96133865eb
cast pid's to longs for OS's where this is the case.
1998-05-20 00:31:11 +00:00
fair
618cca243b
Change a few things to reference /usr/include/paths.h instead of local
...
references. Fixing the default PATH is a bit more effort.
1998-04-07 10:16:04 +00:00
thorpej
b65b5cae9e
Sigh, have to cast pointer diffs to long.
1998-02-04 23:49:25 +00:00
thorpej
a40a144d00
Fix printf formats so they work on the Alpha.
1998-02-04 20:10:16 +00:00
christos
7f2a271743
PR/3662: David Holland: Make /bin/sh use the symbolic macros for wait().
1997-10-08 20:31:52 +00:00
christos
cd799663e4
Fix compiler warnings.
1997-07-04 21:01:48 +00:00
tls
48250187e6
kill 'register'
1997-01-11 02:04:27 +00:00
christos
846dce0ee3
Fix problems that gcc -Wall found (from Todd Miller, OpenBSD)
1996-11-02 18:26:03 +00:00
christos
a20d79429a
PR/2808: Don't include <sgtty.h> unless OLD_TTY_DRIVER is defined.
...
Remove extraneous newline from error messages.
1996-10-16 14:42:20 +00:00
mycroft
c65b90450d
ioctl(TIOC[GS]PGRP) -> tc[gs]etpgrp()
1996-09-17 14:44:05 +00:00
pk
edae5ead03
Relocate pointers after re-allocation of the job table.
1995-07-04 16:26:45 +00:00
christos
07bae7eddd
Merge in my changes from vangogh, and fix the x=false
; echo $? == 0
...
bug.
1995-05-11 21:28:33 +00:00
cgd
49f0ad8601
convert to new RCS id conventions.
1995-03-21 09:01:59 +00:00
cgd
58f1733118
be more careful with casts.
1994-12-23 13:24:39 +00:00
cgd
5dad143982
from James Jegers <jimj@miller.cs.uwm.edu>: quiet -Wall, and squelch
...
some of the worst style errors.
1994-12-04 07:11:37 +00:00
mycroft
06f53b6838
Eliminate uses of some obsolete functions.
1994-09-23 11:28:39 +00:00
mycroft
cafd1f7e9f
Add RCS ids.
1994-06-11 16:11:35 +00:00
jtc
df81ab8248
POSIX.1 changed getpgrp
1994-05-12 16:32:42 +00:00
jtc
1e9eba5d40
Use libc's sys_siglist[] instead of building and using our own array of
...
signal names. (from charles)
1994-05-12 16:09:09 +00:00
jtc
37ed7877b2
sync with 4.4lite
1994-05-11 17:09:42 +00:00
mycroft
f637854f04
Use sys_signame[].
1993-08-06 21:50:14 +00:00
mycroft
8542364e07
Add RCS identifiers.
1993-08-01 18:49:50 +00:00
sef
5916a08554
Jim "wilson@moria.cygnus.com" Wilson's patches to make C News (and other
...
things) work.
1993-05-02 01:28:40 +00:00
dpassage
49c9ab9a60
Removed a cast that was causing another stoopid compile error.
1993-04-26 06:09:17 +00:00
cgd
06be60083d
changed "Id" to "Header" for rcsids
1993-03-23 00:22:59 +00:00
cgd
346aa5dd48
added rcs ids to all files
1993-03-22 08:04:00 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00