jdolecek
e8e4da6b87
add new function sigismasked(), which checks whether passed signal
...
is ignored or masked by the process, and use it appropriately
instead of directly checking p->p_sigmask and p->p_sigignore
2000-11-05 15:37:09 +00:00
eeh
d85adca51f
Make line disciplines modular so they can be added or removed dynamically.
2000-11-01 23:51:38 +00:00
mrg
32aa199ccf
remove include of <vm/vm.h>
2000-06-27 17:41:07 +00:00
thorpej
8964c35eca
Introduce a new process state distinct from SRUN called SONPROC
...
which indicates that the process is actually running on a
processor. Test against SONPROC as appropriate rather than
combinations of SRUN and curproc. Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
augustss
264f1d27c6
Get rid of register declarations.
2000-03-30 09:27:11 +00:00
kleink
2e68f6172e
Cast timeval members to types we know the printf conversions of.
2000-03-28 18:39:03 +00:00
thorpej
b667a5a357
New callout mechanism with two major improvements over the old
...
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
tron
d5442d74c5
Fix NULL pointer access. Patch supplied by Dave Huang in PR kern/8055.
1999-07-24 15:10:02 +00:00
thorpej
2715b812d1
Rework the process exit path, in preparation for making process exit
...
and PID allocation MP-safe. A new process state is added: SDEAD. This
state indicates that a process is dead, but not yet a zombie (has not
yet been processed by the process reaper).
SDEAD processes exist on both the zombproc list (via p_list) and deadproc
(via p_hash; the proc has been removed from the pidhash earlier in the exit
path). When the reaper deals with a process, it changes the state to
SZOMB, so that wait4 can process it.
Add a P_ZOMBIE() macro, which treats a proc in SZOMB or SDEAD as a zombie,
and update various parts of the kernel to reflect the new state.
1999-07-22 18:13:36 +00:00
simonb
5d8b1ef3e4
g/c REAL_CLISTS.
1999-04-25 02:56:26 +00:00
mycroft
fb526e055c
Substantial signal handling changes:
...
* Increase the size of sigset_t to accomodate 128 signals -- adding new
versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
sys_sigpending() and sys_sigsuspend() into separate functions, and call them
from all the emulations rather than hard-coding everything. (Avoids uses
the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.
Note: Only code touched by the i386 port has been modified. Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
thorpej
ad5e377513
Use the pool allocator and the "nointr" pool page allocator for tty
...
structures.
1998-09-01 00:23:28 +00:00
thorpej
7cc905f5c8
Add some braces to make egcs happy (ambiguous else warning).
1998-08-18 06:27:01 +00:00
perry
275d1554aa
Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
...
bcopy(x, y, z) -> memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
bcmp(x, y, z) -> memcmp(x, y, z)
bzero(x, y) -> memset(x, 0, y)
1998-08-04 04:03:10 +00:00
perry
730baa7431
fix sizeofs so they comply with the KNF style guide. yes, it is pedantic.
1998-07-31 22:50:48 +00:00
mycroft
2bb5067e13
Move the code to wait for carrier on a tty into a common function, since it
...
depends only on device-independent state bits.
Implement SunOS-style `dialout' devices.
1998-03-22 00:55:37 +00:00
mycroft
2ada4b4af1
Replace TS_WOPEN with t_wopen, per mail on tech-kern.
1998-03-21 04:02:47 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
thorpej
c1538fb038
Implement TIOCGSID.
1998-02-14 01:26:50 +00:00
kleink
af9cc34b3c
Add ONOCR and ONLRET output modes, from XPG4.2.
1998-02-13 21:53:44 +00:00
kleink
0dc9b5452d
Fix variable declarations: register -> register int.
1998-02-12 20:39:41 +00:00
drochner
a9006ce5b9
Make ttyblock() work as intended and documented in canonical mode.
...
(operator precedence problem)
closes PR kern/2131 (Matthias Pfaller)
1997-12-12 12:49:40 +00:00
thorpej
3569d48361
defopt UCONSOLE
1997-10-28 01:53:50 +00:00
mycroft
b8267c1737
Count characters even when !OPOST and FLUSHO.
...
Don't output the \r for ONLCR if FLUSHO.
1997-10-19 20:35:21 +00:00
mycroft
64d080efe0
Make various standard wmesg strings const.
1997-10-09 12:59:50 +00:00
mycroft
7f35228e7e
Make wmesg arguments to various functions const.
1997-10-09 12:49:44 +00:00
kleink
df14b3b830
Add some robustness to ttymodem(), e.g. do not SIGHUP when there hasn't been
...
an actual carrier transition; from Charles M. Hannum.
1997-06-20 10:50:11 +00:00
kleink
a0696b91ad
When a background process attempts to TIOC[CS]BRK (a.k.a. tcsendbreak()) or
...
TIOCSTART (a.k.a tcflow()), send its process group a SIGTTOU.
1997-06-18 15:32:33 +00:00
kleink
93da19a2f1
Rewrote break/parity/framing error handling from spec.
1997-06-17 20:41:59 +00:00
kleink
b7ba6138b6
If the pgrp_id argument of TIOCSPGRP (a.k.a. tcsetpgrp()) does not specify
...
an existing process group, return EINVAL.
1997-05-22 17:35:42 +00:00
kleink
91830a9500
When a background process attempts to TIOCDRAIN (a.k.a. tcdrain()), send
...
its process group a SIGTTOU signal.
1997-05-20 13:11:33 +00:00
thorpej
92c113aebb
Fix printf format botch.
1997-05-17 00:19:02 +00:00
gwr
09da7e273e
Eliminate vmspace.vm_pmap and all references to it unless
...
__VM_PMAP_HACK is defined (for temporary compatibility).
The __VM_PMAP_HACK code should be removed after all the
ports that define it have removed all vm_pmap references.
1997-05-16 21:39:50 +00:00
kleink
a0dca5145e
Fix a CRNL/NLCR botch I made after looking this up in the X/Open spec.
...
Fixes PR 3453; from John Kohl and Enami Tsugutomo.
1997-04-07 16:09:28 +00:00
kleink
4256cf1898
Add some clarification about the TTBREAKC macro's purpose; suggested by
...
Chris G. Demetriou.
1997-04-06 14:44:44 +00:00
cgd
c65f7b2d9a
fix missing parenthesis in TTBREAKC()
1997-04-06 08:15:17 +00:00
kleink
dbf70fddf5
If TOSTOP is set, and the process group of the writing process is orphaned,
...
and the writing process is not ignoring or blocking SIGTTOU, do not signal
the process but return EIO.
1997-04-05 21:40:34 +00:00
kleink
c028733220
Recognize EOL2 as a delimiter/"break" character only if IEXTEN is set.
1997-04-05 19:50:18 +00:00
mycroft
c4cd861045
Remove unintended piece of last change.
1997-04-04 21:05:00 +00:00
mycroft
00f128b69f
Fix several bugs related to MDMBUF. Also, remove the partial handling from
...
ttymodem(); it's not complete, it's better done in the driver, and only the
com driver ever supported it anyway.
1997-04-04 21:02:28 +00:00
kleink
4d65b07afa
As specified in POSIX.1 (and termios(4)!), when cc[VMIN]==0 a read() shall
...
be satisfied by any amount of data actually read.
1997-04-04 15:10:34 +00:00
kleink
080aeda54f
WERASE, REPRINT, STATUS and DSUSP are extensions to the POSIX.1 GTI
...
set of special characters: recognize them only if IEXTEN is set.
1997-04-03 14:24:45 +00:00
kleink
2da2c50987
KNF glitch in last commit, pointed out by Chris G. Demetriou.
1997-04-02 03:23:01 +00:00
kleink
6b58679ffa
Implement OCRNL "\r" -> "\n" tty output translation.
...
Fixes PR standards/3434.
1997-04-02 03:10:51 +00:00
christos
ee29ff37a9
PR/3396: Klaus Klein: If CREAD is not set drop incoming data.
1997-03-29 23:26:27 +00:00
cgd
9fa0b6391e
don't thow away char_type's 'const'ness via a cast when passing it to scanc().
...
(1) that causes -Wcast-qual to be unhappy, and (2) the cast is unnecessary!
1996-10-25 22:11:39 +00:00
christos
f443b89c92
backout previous kprintf change
1996-10-13 02:32:29 +00:00
christos
60d201973e
printf -> kprintf, sprintf -> ksprintf
1996-10-10 22:46:11 +00:00
mycroft
2bc736661a
Implement poll(2).
1996-09-07 12:40:22 +00:00
mrg
8def9fa734
don't tty_detach() in ttyfree(). make the user of ttyfree() do
...
the tty_detach() as not all ttymalloc()'ed ttys are tty_attach()ed.
1996-06-06 15:31:24 +00:00
mrg
b9c4c21d8e
add a comment on how to use tty_attach().
1996-06-04 13:59:10 +00:00
cgd
2fc4279f35
a few minor KNF nits
1996-05-30 23:43:31 +00:00
mrg
13eaf2e29b
check tty_count first (from cgd).
1996-05-30 23:32:33 +00:00
mrg
5583238255
impliment ttylist stats based on disk stats.
1996-05-29 02:02:42 +00:00
christos
174916004d
Fix another printf format warning.
1996-03-29 01:55:12 +00:00
christos
c9e746a335
Fix printf() formats.
1996-03-16 23:17:04 +00:00
christos
09afd77655
More proto fixes
1996-02-09 18:59:18 +00:00
christos
8a5b1b92e2
First pass at prototyping
1996-02-04 02:15:01 +00:00
pk
ba8a7101f0
Correct test for ECHONL (from der Mouse; PR#1922).
1996-01-10 20:52:27 +00:00
mycroft
2dd293d3c3
Add hooks for COMPAT_FREEBSD, from Noriyuki Soda.
1995-10-10 01:26:36 +00:00
cgd
08cae70f24
fix annoying but non-critical rounding but in ttyinfo(). (If
...
microseconds goes over 10^6 when rounding, increment seconds.)
1995-09-22 00:11:35 +00:00
mycroft
9a4505cb89
Close routines take file flags, not I/O flags. Fix two incorrect usages.
1995-07-02 18:13:02 +00:00
mycroft
3e6f699a75
Only do software flow control if IXOFF is set. Also fix hardware flow control
...
case in ttyblock().
1995-06-04 14:01:37 +00:00
mycroft
3cd36c72ef
Use ISSET() and CLR() in two cases.
1995-06-04 12:57:52 +00:00
mycroft
20b6b4f24d
Change ttselect() to use a callback to get the tty structure.
1995-04-19 18:46:10 +00:00
christos
3e935d8a0d
Added ifdef COMPAT_SVR4 to the kernel compat code needed.
1994-11-17 20:27:10 +00:00
mycroft
7c29d675ec
Change argument list of ttioctl() to match other ioctl functions.
1994-10-30 22:11:05 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
mycroft
4bad1511b7
Fix a bug I introduced in the last commit, regarding a VTIME timeout causing
...
EWOULDBLOCK to be returned rather than looping again to see if any characters
are pending. Also, fix another bug in the original code; if someone changed
VMIN behind our back, last_cc might be uninitialized when we reference it.
1994-10-24 09:09:06 +00:00
mycroft
8f5b447fb2
Remove the need for some untimeouts.
1994-10-12 13:38:16 +00:00
deraadt
1ec7a8fcbe
fix PR#484 relating to backspacing over a tab.
1994-09-18 18:32:51 +00:00
mycroft
2f710a54ee
Convert process, file, and namei lists and hash tables to use queue.h.
1994-08-30 03:04:28 +00:00
mycroft
743c8ea38e
Clear t_flags on first open.
1994-08-02 08:45:46 +00:00
cgd
cf92afd66e
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
1994-06-29 06:29:24 +00:00
deraadt
2070652356
use u_char's instead of char's; else the TTY_QUOTE bit can get accidentally
...
be set.
1994-05-25 09:58:53 +00:00
cgd
ff49fed069
upgrade to 4.4-Lite's tty code. our bug fixes included, some might need GC.
1994-05-12 03:48:33 +00:00
cgd
a0a7429482
lots of changes: prototype migration, move lots of variables, definitions,
...
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd
4bbabd8e7a
Rename a lot of process flags.
1994-05-04 03:41:12 +00:00
deraadt
55dacae6ea
FIONREAD plays with an int, not an off_t.
1994-04-09 22:35:00 +00:00
cgd
02dd2aa8ab
fix somebody's typo
1994-03-18 04:01:15 +00:00
cgd
fa2051edb1
add hw input flow control support
1994-03-18 03:48:30 +00:00
mycroft
676007bcd2
Don't do TIOCHPCL if !COMPAT_43. In the new world, you use termios.
1994-03-05 22:42:54 +00:00
mycroft
f663fac02d
Return a legitimate value from ttylclose().
1994-02-20 17:24:19 +00:00
mycroft
6adb7d5015
Don't send SIGINFO if ISIG off.
1994-02-20 16:56:56 +00:00
mycroft
678e80720a
Some formatting changes.
1994-02-20 16:55:10 +00:00
ws
fbf99acae8
(Hopefully) do the right thing with VTIME > 0 and select
1994-02-14 18:22:39 +00:00
mycroft
bbb3e7618c
All ioctl routines take a struct proc * now.
1994-02-09 21:06:46 +00:00
deraadt
425f5d3170
more untimouts needed, from someone at freebsd
1994-02-01 15:09:52 +00:00
deraadt
6aac4eb9f1
undo totally misguided changes from Andrew Chernov in rev. 1.7:
...
RTS has nothing to do with ttyblock()
also, close a race.
1994-01-28 11:32:43 +00:00
deraadt
abf6a6bfdd
more COMPAT_SUNOS changes.
1994-01-23 06:06:21 +00:00
cgd
163a1d473e
do the *right* thing with resident set size
1994-01-07 19:13:17 +00:00
deraadt
d4e74a7cda
really fix the tab code
1994-01-07 17:51:24 +00:00
cgd
582eb13c4a
from Mike Karels <karels@bsdi.com>: clear the PENDIN flag if ICANON
...
is cleared, and retain the PENDIN flag if set when ICANON is set
1994-01-05 16:25:37 +00:00
cgd
1424954c16
print out what we think is the resident set size. very nasty; the field
...
in the proc's vmspace struct should be updated, but isn't...
Also, if the process is a zombie or infantile, don't print, because
that could cause a null pointer deref.
1993-12-30 12:05:16 +00:00
deraadt
6e81a663bd
OXTABS expansion was putting fewer than the required spaces if the clists
...
became full. we now retry the tab expansion later.
1993-12-24 01:07:40 +00:00
cgd
a6eecc8e2a
load average changes from magnum
1993-12-20 12:42:34 +00:00
mycroft
7f50bd1829
Canonicalize all #includes.
1993-12-18 04:21:37 +00:00
deraadt
493603cecd
fix from Daniel Harris <daniel@werple.apana.org.au>
...
VTIME code must untimeout
1993-12-16 18:09:08 +00:00
deraadt
252dd4bb0e
VMIN/VTIME support from Marc Teitelbaum <marc@vangogh.cs.berkeley.edu>
1993-12-13 14:40:31 +00:00
deraadt
3cf1d8505e
echo ^V^? correctly as ^?. From Edward Wang <edward@homer.CS.Berkeley.EDU>
1993-12-09 22:58:17 +00:00
mycroft
22ab556e04
If ospeed is set to 0, SIGHUP the session leader (if any).
1993-08-23 16:36:42 +00:00
mycroft
4862b84c92
Add RCS identifiers (this time on the correct side of the branch), and
...
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
mycroft
7aecc812a5
Move flushq() macro into tty.h.
1993-07-19 05:52:27 +00:00
mycroft
ec99160f49
Use flushq() macro instead.
1993-07-19 05:48:01 +00:00
mycroft
b8756ae04c
Use ndflush(), not while(getc()).
1993-07-19 05:10:30 +00:00
mycroft
bfc1b68bb5
Change tty code to use clist interface, but with ring buffer implementation.
...
Also, fix a couple of bugs in tty.c and pccons.c, and some gross kluginess
in the hp300 stuff.
1993-07-12 11:16:07 +00:00
cgd
daacc668f9
re-add two changes which had been deleted by commit of r1.7
1993-07-11 07:22:52 +00:00
mycroft
c5fdaf369a
Blasted ftpd!
1993-07-02 03:11:11 +00:00
mycroft
50974047ed
Fix bugs in rb_write and rb_cwrite, and make tab handling use rb_cwrite.
1993-07-02 03:04:51 +00:00
mycroft
c414ffef06
Fix a situation where we might forget to splx().
1993-07-01 00:22:10 +00:00
andrew
4d08b29158
* ansifications
...
* question about whether the "tp->t_state |= TS_ISOPEN" in ttyopen() should
be shifted to the end of the block in which it appears.
1993-06-27 06:06:14 +00:00
andrew
4c0169f317
Fixed ECHONL.
1993-06-20 04:52:53 +00:00
cgd
f1b8c74730
make getc() and ungetc() be rb{un,}getc(), so getc() and ungetc()
...
don't conflict w/ansi prototypes...
1993-06-06 23:04:42 +00:00
deraadt
2f0c0eb674
tty dynamic allocation
1993-05-26 10:06:41 +00:00
cgd
8d6c77881c
make kernel select interface be one-stop shopping & clean it all up.
1993-05-18 18:18:40 +00:00
deraadt
5760558f80
various 8-bit patches from Andrew Chernov <ache@astral.msk.su>
...
tty_compat.c is cleaned up, as is STOP+TIOCSTI in tty.c
1993-05-13 20:58:26 +00:00
cgd
37b890c63c
from Luke Mewburn <zak@rmit.edu.au>:
...
add TIOCSTAT ioctl to give load average stats if requested (for tcsh)
1993-05-13 06:42:56 +00:00
deraadt
64f341ec2a
ring buffer now uses rbchar's (shorts) instead of chars.
1993-05-10 23:15:37 +00:00
sef
0be333bc99
Oops. Inserted at the wrong place.
1993-03-24 20:22:51 +00:00
sef
e4eea462cf
Handle one-word cases in word-erase.
1993-03-24 19:41:48 +00:00
cgd
e541169ce2
after 0.2.2 "stable" patches applied
1993-03-21 18:04:42 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00