freebsd-nq/usr.sbin
Ed Schouten c0086bf202 Serialize write() calls on TTYs.
Just like the old TTY layer, the current MPSAFE TTY layer does not make
any attempt to serialize calls of write(). Data is copied into the
kernel in 256 (TTY_STACKBUF) byte chunks. If a write() call occurs at
the same time, the data may interleave. This is especially likely when
the TTY starts blocking, because the output queue reaches the high
watermark.

I've implemented this by adding a new flag, TTY_BUSY_OUT, which is used
to mark a TTY as having a thread stuck in write(). Because I don't want
non-blocking processes to be possibly blocked by a sleeping thread, I'm
still allowing it to bypass the protection. According to this message,
the Linux kernel returns EAGAIN in such cases, but I think that's a
little too restrictive:

	http://kerneltrap.org/index.php?q=mailarchive/linux-kernel/2007/5/2/85418/thread

PR:		kern/118287
2009-02-11 16:28:49 +00:00
..
ac
accton
acpi
adduser
amd
ancontrol
apm
apmd
arp This checkin addresses a couple of issues: 2008-12-26 19:45:24 +00:00
asf
audit
auditd Merge OpenBSM alpha 4 from OpenBSM vendor branch to head, both 2008-12-31 11:12:24 +00:00
auditreduce
authpf
bluetooth Clenup code a bit and do not call fork(2) before dameon(3) where not needed. 2009-02-04 22:04:06 +00:00
boot0cfg Extend the geom-related info and put in the NOTE section, not 2009-01-13 21:55:39 +00:00
boot98cfg
bootparamd
bsnmpd
btxld
burncd Correct the type for the global var accessed in sig handlers. 2009-01-05 16:47:42 +00:00
cdcontrol
chkgrp
chown
chroot
ckdist
clear_locks
config Move the comment to it's correct place. 2009-02-07 11:40:47 +00:00
cpucontrol - use .Ex macro in EXIT STATUS section 2009-01-07 01:31:09 +00:00
crashinfo
cron
crunch Run with -B and just .POSIX. 2009-01-31 07:03:36 +00:00
ctm
cxgbtool
daemon
dconschat
devinfo
digictl
diskinfo
dnssec-keygen
dnssec-signzone
dumpcis
editmap
edquota
eeprom
extattr
extattrctl
faithd
fdcontrol
fdformat
fdread
fdwrite
fifolog The last sector in the first segment might just be a sync, increment before 2009-02-02 14:30:07 +00:00
flowctl
freebsd-update
ftp-proxy
fwcontrol Begin basic improvements to fwcontrol in the area of handling 2009-02-02 21:05:12 +00:00
getfmac
getpmac
gssd - Remove superfluous comment 2009-01-30 15:28:56 +00:00
gstat
i2c Introduce the I2C diagnostic utility. It let's discover and inspect slave 2009-01-26 14:00:50 +00:00
ifmcstat
inetd
iostat
ip6addrctl
ipfwpcap
IPXrouted
jail New sentence starts on a new line. 2009-01-24 15:56:44 +00:00
jexec Correctly check the number of prison states to not access anything 2008-12-11 01:04:25 +00:00
jls Make sure that the direct jls invocations prints something 2008-12-14 16:56:47 +00:00
kbdcontrol
kbdmap
kernbb
keyserv
kgmon
kgzip
kldxref various cleanups including: 2009-01-06 14:23:38 +00:00
lastlogin
lmcconfig
lpr
lptcontrol
mailstats
mailwrapper
makefs fix pathnames to work w/ buildworld 2008-12-19 22:59:05 +00:00
makemap
manctl
memcontrol
mergemaster Instead of using obj and all targets which are not cross-build aware, 2009-01-04 20:59:23 +00:00
mixer
mld6query - rename the RETURN VALUES section to EXIT STATUS 2009-01-07 00:59:34 +00:00
mlxcontrol
mount_nwfs
mount_portalfs
mount_smbfs
mountd
moused
mptable
mtest
mtree Write timestamps with exactly 9 digits after the period. 2009-01-31 05:17:28 +00:00
named
named-checkconf
named-checkzone
named.reload
ndiscvt Integrate the NDIS USB support code to CURRENT. 2008-12-27 08:03:32 +00:00
ndp This checkin addresses a couple of issues: 2008-12-26 19:45:24 +00:00
newsyslog
nfsd
ngctl
nghook
nologin
nscd o Correct a database name: "group" not "groups". 2008-12-22 13:36:15 +00:00
ntp
nvram
ofwdump
pciconf - Add a new ioctl to /dev/pci to fetch details on an individual BAR of a 2009-02-02 19:54:16 +00:00
periodic
pkg_install Use full name (noticed by: ru@ 2009-01-11 13:56:55 +00:00
pmcannotate
pmccontrol
pmcstat Close the read side of the pipe to self when exiting. 2008-12-23 12:08:06 +00:00
pnpinfo
portsnap
powerd Fix a typo higter->higher. 2008-12-24 09:17:30 +00:00
ppp The ppp application relies on the if_tun interface to properly 2008-12-19 01:37:20 +00:00
pppctl
pppd
pppstats
praliases
praudit
procctl
pstat Serialize write() calls on TTYs. 2009-02-11 16:28:49 +00:00
pw
pwd_mkdb
quot
quotaon
rarpd
raycontrol
repquota
rip6query
rmt
rndc
rndc-confgen
route6d This main goals of this project are: 2008-12-15 06:10:57 +00:00
rpc.lockd
rpc.statd
rpc.umntall
rpc.yppasswdd
rpc.ypupdated
rpc.ypxfrd
rpcbind
rrenumd - rename the RETURN VALUES section to EXIT STATUS 2009-01-07 00:58:25 +00:00
rtadvd - rename the RETURN VALUES section to EXIT STATUS [1] 2009-01-07 01:01:26 +00:00
rtprio
rtsold - rename the RETURN VALUES section to EXIT STATUS [1] 2009-01-07 00:54:30 +00:00
rwhod
sa
sade Oops, missed removing an 's' in previous rev. 2008-12-30 18:21:54 +00:00
sendmail
setfib
setfmac
setpmac
sicontrol
sliplogin
slstat
smbmsg
snapinfo
spkrtest
spray
sysinstall Add urtw(4) to the list of supported network interface. 2009-01-23 05:57:40 +00:00
syslogd Add "crit" to the list of keywords. 2008-12-23 17:39:24 +00:00
tcpdchk
tcpdmatch
tcpdrop
tcpdump
timed
traceroute
traceroute6 - rename the RETURN VALUES section to EXIT STATUS 2009-01-07 00:57:27 +00:00
trpt
tzsetup
ugidfw In ugidfw(8), print the rule number and rule contents (as parsed and then 2008-12-24 22:40:13 +00:00
usbconfig MFp4: //depot/projects/usb@155807 2009-01-13 19:02:17 +00:00
usbdevs Add missing -o to usage output. 2008-12-29 14:59:22 +00:00
vidcontrol
vipw
watch
watchdogd
wlandebug TDMA support for long distance point-to-point links using ath devices: 2009-01-08 17:12:47 +00:00
wlconfig
wpa
yp_mkdb
ypbind
yppoll
yppush
ypserv
ypset
zic
zzz
Makefile Introduce the I2C diagnostic utility. It let's discover and inspect slave 2009-01-26 14:00:50 +00:00
Makefile.inc