freebsd-dev/sys/sys
Ian Lepore f64342e354 Rework tty_drain() to poll the hardware for completion, and restore
drain timeout handling to historical freebsd behavior.

The primary reason for these changes is the need to have tty_drain() call
ttydevsw_busy() at some reasonable sub-second rate, to poll hardware that
doesn't signal an interrupt when the transmit shift register becomes empty
(which includes virtually all USB serial hardware).  Such hardware hangs
in a ttyout wait, because it never gets an opportunity to trigger a wakeup
from the sleep in tty_drain() by calling ttydisc_getc() again, after
handing the last of the buffered data to the hardware.

While researching the history of changes to tty_drain() I stumbled across
some email describing the historical BSD behavior of tcdrain() and close()
on serial ports, and the ability of comcontrol(1) to control timeout
behavior.  Using that and some advice from Bruce Evans as a guide, I've
put together these changes to implement the hardware polling and restore
the historical timeout behaviors...

 - tty_drain() now calls ttydevsw_busy() in a loop at 10 Hz to accomodate
   hardware that requires polling for busy state.

 - The "new historical" behavior for draining during close(2) is retained:
   the drain timeout is "1 second without making any progress".  When the
   1-second timeout expires, if the count of bytes remaining in the tty
   layer buffer is smaller than last time, the timeout is extended for
   another second.  Unfortunately, the same logic cannot be extended all
   the way down to the hardware, because the interface to that layer is a
   simple busy/not-busy indication.

 - Due to the previous point, an application that needs a guarantee that
   all data has been transmitted must use TIOCDRAIN/tcdrain(3) before
   calling close(2).

 - The historical behavior of honoring the drainwait setting for TIOCDRAIN
   (used by tcdrain(3)) is restored.

 - The historical kern.drainwait sysctl to control the global default
   drainwait time is restored, but is now named kern.tty_drainwait.

 - The historical default drainwait timeout of 300 seconds is restored.

 - Handling of TIOCGDRAINWAIT and TIOCSDRAINWAIT ioctls is restored
   (this also makes the comcontrol(1) drainwait verb work again).

 - Manpages are updated to document these behaviors.

Reviewed by:	bde (prior version)
2017-01-12 00:48:06 +00:00
..
disk Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
_bitset.h bitset: introduce helpers to allocate a bitset at runtime 2016-05-06 16:41:23 +00:00
_bus_dma.h
_callout.h Revert r287780 until more developers have their say. 2015-09-22 06:51:55 +00:00
_cpuset.h Fix <sys/_bitset.h> and <sys/_cpuset.h> to not require <sys/param.h>. 2016-05-05 15:43:26 +00:00
_ffcounter.h
_iovec.h
_kstack_cache.h
_lock.h
_lockmgr.h
_mutex.h Tweak comments. 2012-11-11 23:25:47 +00:00
_null.h
_pctrie.h - Add a new general purpose path-compressed radix trie which can be used 2013-05-12 04:05:01 +00:00
_pthreadtypes.h
_rmlock.h Several improvements to rmlock(9). Many of these are based on patches 2013-06-25 18:44:15 +00:00
_rwlock.h Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
_semaphore.h
_sigset.h
_sockaddr_storage.h
_stack.h
_stdint.h Move intmax_t and uintmax_t type declarations to sys/_stdint.h to give 2015-11-07 12:30:43 +00:00
_sx.h
_task.h Update iflib to support more NIC designs 2016-08-12 21:29:44 +00:00
_termios.h
_timespec.h
_timeval.h
_types.h Define max_align_t for C11. 2016-10-21 23:50:02 +00:00
_ucontext.h POSIX states that #include <signal.h> shall make both mcontext_t and 2016-02-12 07:38:19 +00:00
_umtx.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
_unrhdr.h Move the definition of the struct unrhdr into a separate header file, 2013-08-30 07:37:45 +00:00
_vm_domain.h Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
aac_ioctl.h
acct.h
acl.h Expose an interface to determine if an ACE is inherited. 2015-09-04 00:14:20 +00:00
agpio.h A rewrite of the i810 bits of the agp(4) driver. New driver supports 2012-05-22 10:59:26 +00:00
aio.h Account for AIO socket operations in thread/process resource usage. 2016-06-21 22:19:06 +00:00
alq.h
apm.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
assym.h
ata.h Add support for managing Shingled Magnetic Recording (SMR) drives. 2016-05-19 14:08:36 +00:00
bio.h Add BUF_TRACKING and FULL_BUF_TRACKING buffer debugging 2016-10-31 23:09:52 +00:00
bitset.h bitset: introduce helpers to allocate a bitset at runtime 2016-05-06 16:41:23 +00:00
bitstring.h Fix bitstring allocation on 32-bit platforms 2016-06-24 21:44:46 +00:00
blist.h
boot.h howto_names: unify declaration 2014-03-11 10:13:06 +00:00
buf_ring.h Revert r309372 2016-12-02 15:38:34 +00:00
buf.h Release laundered vnode pages to the head of the inactive queue. 2016-11-23 17:53:07 +00:00
bufobj.h vfs: remove the __bo_vnode field from struct vnode 2016-09-30 17:11:03 +00:00
bus_dma.h Style cleanups after r285270 2015-07-08 22:09:47 +00:00
bus.h Implement 'devctl clear driver' to undo a previous 'devctl set driver'. 2016-08-29 22:48:36 +00:00
busdma_bufalloc.h Fix integer truncation bug in malloc(9) 2015-04-01 12:42:26 +00:00
callout.h Extract the calculation of the callout fire time into the new function 2016-07-28 08:57:01 +00:00
capability.h Fix a comment in capability.h: it got renamed to capsicum.h, not 2014-03-16 21:05:00 +00:00
caprights.h Change the cap_rights_t type from uint64_t to a structure that we can extend 2013-09-05 00:09:56 +00:00
capsicum.h Add PROC_TRAPCAP procctl(2) controls and global sysctl kern.trap_enocap. 2016-09-21 08:23:33 +00:00
cdefs.h Remove unused __gnu_inline() attribute. 2017-01-10 20:44:31 +00:00
cdio.h
cdrio.h
cfictl.h
chio.h Update chio(1) and ch(4) to support reporting element designators. 2013-04-19 20:03:51 +00:00
clock.h Make resettodr_lock accessible outside subr_rtc.c. Protect 2016-09-21 10:15:08 +00:00
cnv.h Remove duplicated declaration. 2016-08-28 07:40:11 +00:00
condvar.h Revert r282971. It depends on condvar consumers not destroying condvars 2015-05-21 16:43:26 +00:00
conf.h Remove unused declaration. 2016-12-31 11:07:33 +00:00
cons.h Prefer vt(4) for UEFI boot 2014-07-02 13:24:21 +00:00
consio.h vt(4): Add PIO_VFONT_DEFAULT ioctl to restore the default builtin font 2014-10-23 12:38:05 +00:00
copyright.h Bump copyright year. 2016-12-31 12:41:42 +00:00
counter.h Provide counter_ratecheck(), a MP-friendly substitution to ppsratecheck(). 2016-12-09 17:58:34 +00:00
cpu.h Add support to get the cpu ID from its device driver in a generic way. 2015-02-19 12:47:48 +00:00
cpuctl.h Restore the ABI of the cpuctl(4) ioctl request CPUCTL_CPUID, use 2014-06-20 13:13:38 +00:00
cpuset.h Move nested include of <sys/queue.h> inside _KERNEL. 2016-07-14 23:14:10 +00:00
ctype.h
dataacq.h
devicestat.h MFprojects/camlock r254905: 2013-10-16 09:12:40 +00:00
devmap.h Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
digiio.h
dir.h
dirent.h
disk_zone.h Add support for managing Shingled Magnetic Recording (SMR) drives. 2016-05-19 14:08:36 +00:00
disk.h Add support for encrypted kernel crash dumps. 2016-12-10 16:20:39 +00:00
disklabel.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
diskmbr.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
diskpc98.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
dkstat.h
dnv.h Remove non-existent dnvlist functions. 2015-07-04 10:33:33 +00:00
domain.h Fix cleanup race between unp_dispose and unp_gc 2015-07-14 02:00:50 +00:00
dtrace_bsd.h Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
dvdio.h
efi.h Do not try to create /dev/efi device node before devfs is initialized. 2016-10-16 06:07:43 +00:00
efiio.h Create /dev/efidev to provide an ioctl interface to 2016-10-11 22:24:30 +00:00
elf32.h Update ELF headers to include additional defines 2015-01-02 15:36:29 +00:00
elf64.h Update ELF headers to include additional defines 2015-01-02 15:36:29 +00:00
elf_common.h Move/add ARM ELF PHDR types to elf_common.h 2016-08-02 20:26:04 +00:00
elf_generic.h
elf.h
endian.h
errno.h Expose kernel-only errno values if _WANT_KERNEL_ERRNO is defined. 2016-10-01 22:08:07 +00:00
eui64.h
event.h Remove unneeded externs keywords. Reindent long lines. 2017-01-02 09:02:39 +00:00
eventhandler.h Add a page queue for holding dirty anonymous unswappable pages. 2017-01-03 00:05:44 +00:00
eventvar.h Add a resource limit for the total number of kqueues available to the 2013-10-21 16:44:53 +00:00
exec.h exec.h: Move PS_STRINGS define to kernel-only section 2016-05-11 21:14:36 +00:00
extattr.h Fix return type of extattr_set_* and fix rmextattr(8) utility. 2013-04-02 05:30:41 +00:00
fail.h fail(9): Upstreaming some fail point enhancements 2016-03-16 04:22:32 +00:00
fbio.h Provide way for framebuffer driver to request mmap(2) mapping type 2016-10-01 17:43:02 +00:00
fcntl.h When cleaning up from failed adv locking and checking for write, do 2016-01-17 08:40:51 +00:00
fdcio.h Add raw RX-50 support. These are 400k single sided disks with 80 2016-03-10 00:36:38 +00:00
file.h The sendfile(2) allows to send extra data from userspace before the file 2016-03-29 19:57:11 +00:00
filedesc.h fd: hide fd_modified under CAPABILITIES 2016-09-23 16:47:12 +00:00
filio.h
firmware.h
fnv_hash.h Remove ia64. 2014-07-07 00:27:09 +00:00
gmon.h
gpio.h GPIO: Add support for gpio pin interrupts. 2016-04-28 12:03:22 +00:00
gpt.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
gtaskqueue.h Update iflib to support more NIC designs 2016-08-12 21:29:44 +00:00
gzio.h Reimplement support for userland core dump compression using a new interface 2015-03-09 03:50:53 +00:00
hash.h Add a complete implementation of MurmurHash3. Tweak both implementations 2014-10-18 22:15:11 +00:00
hhook.h Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
iconv.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
imgact_aout.h Turns out the emulators still need/want a_magic, so put it back here. 2012-06-28 07:37:46 +00:00
imgact_binmisc.h sys/sys: missed in r298981. 2016-05-03 16:37:09 +00:00
imgact_elf.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
imgact.h Add a small allocator for exec_map entries. 2017-01-05 01:44:12 +00:00
inflate.h
interrupt.h Migrate ie->ie_assign_cpu and associated code to use an int for CPU rather 2014-09-17 17:33:22 +00:00
intr.h INTRNG: Rework handling with resources. Partially revert r301453. 2016-08-19 10:52:39 +00:00
ioccom.h
ioctl_compat.h
ioctl.h
iov_schema.h Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
iov.h Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
ipc.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
ipmi.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
jail.h Move IPv4-specific jail functions to new file netinet/in_jail.c 2016-08-09 02:16:21 +00:00
joystick.h
kbio.h
kdb.h Add constant missed in r244099 2012-12-10 23:12:51 +00:00
kenv.h
kernel.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
kerneldump.h Add support for encrypted kernel crash dumps. 2016-12-10 16:20:39 +00:00
khelp.h For vendors like Juniper, extensibility for sockets is important. A 2014-08-18 23:45:40 +00:00
kobj.h [bhnd] Fix DEFINE_CLASS_(2|3) multiple inheritance support. 2016-05-23 03:29:43 +00:00
ksem.h Add a new fo_fill_kinfo fileops method to add type-specific information to 2014-09-22 16:20:47 +00:00
ksyms.h
kthread.h Add const to char * pointers. This breaks nothing, and means const 2015-06-28 12:52:28 +00:00
ktr_class.h ioat: Introduce KTR probes 2015-10-26 02:21:19 +00:00
ktr.h Expand ktr_mask to be a 64-bit unsigned integer. 2015-05-22 11:09:41 +00:00
ktrace.h Trace timeval parameters to the getitimer(2) and setitimer(2) syscalls. 2016-07-13 14:37:58 +00:00
libkern.h Merge ACPICA 20160422. 2016-04-27 19:09:21 +00:00
limits.h
link_aout.h
link_elf.h Add rtld private interface for dso to detect dynamic loading 2015-01-03 18:09:53 +00:00
linker_set.h Rename __weak to __weak_symbol to avoid language conflict with objective-C. 2015-06-23 22:40:22 +00:00
linker.h kern_linker: Handle module-loading failures in preloaded .ko files 2016-10-13 02:06:23 +00:00
lock_profile.h
lock.h Implement trivial backoff for locking primitives. 2016-08-01 21:48:37 +00:00
lockf.h
lockmgr.h Remove lockmgr_waiters(9) and BUF_LOCKWAITERS(9); they were not used 2016-08-05 13:53:28 +00:00
lockstat.h Declare lockstat_enabled even when KDTRACE_HOOKS is not defined. 2015-07-20 04:41:25 +00:00
loginclass.h Doh, commit in a wrong directory. Fix r290857. 2015-11-15 12:50:14 +00:00
mac.h
malloc.h Move IPv6 malloc tag definitions into the IPv6 code. 2016-05-20 04:45:08 +00:00
mbpool.h All mbuf external free functions never fail, so let them be void. 2014-07-11 13:58:48 +00:00
mbuf.h Fix typo in comments. 2016-10-15 18:20:15 +00:00
mchain.h
md4.h Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
md5.h Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
mdioctl.h Add "null" backend to mdconfig(8). This does exactly what the name 2013-12-04 07:38:23 +00:00
memdesc.h Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
memrange.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
mman.h mprotect(): Change prototype to comply to POSIX. 2016-08-03 06:33:04 +00:00
module_khelp.h Now that the necessary infrastructure is in place to ensure hhook points which 2013-06-15 10:38:31 +00:00
module.h sys/module.h: Unbreak MOD_DPF printf 2016-10-08 19:40:58 +00:00
mount.h Do not allocate struct statfs on kernel stack. 2017-01-05 17:19:26 +00:00
mouse.h Add Elantech trackpad support 2016-09-26 22:06:19 +00:00
mpt_ioctl.h
mqueue.h
msg.h Change the return type of msgrcv() to ssize_t as required by POSIX. 2016-07-28 12:22:01 +00:00
msgbuf.h - Clean up timestamps in msgbuf code. The timestamps should now be 2012-03-19 00:36:32 +00:00
mtio.h Significant upgrades to sa(4) and mt(1). 2015-02-23 21:59:30 +00:00
mutex.h mtx: reduce lock accesses 2017-01-03 21:36:15 +00:00
namei.h Allow some dotdot lookups in capability mode. 2016-11-02 12:43:15 +00:00
nlist_aout.h Revert r102953 2015-05-28 22:06:05 +00:00
numa.h Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
nv.h Allow libnv to be built externally using GCC. 2016-01-07 20:52:35 +00:00
osd.h osd(9): Change array pointer to array pointer type from void* 2016-04-26 19:57:35 +00:00
param.h Bump FreeBSD_version . 2016-12-16 04:44:46 +00:00
pciio.h Add support for displaying VPD for PCI devices via pciconf. 2014-01-20 20:56:09 +00:00
pcpu.h sys/pcpu.h: Revert change introduced in r303890 2016-08-09 21:45:47 +00:00
pctrie.h Mark unused static inline functions defined by the PCTRIE_DEFINE() macro 2013-12-28 21:31:58 +00:00
pioctl.h
pipe.h Ignore the error from pipespace_new when creating a pipe. 2014-05-02 00:52:13 +00:00
pmc.h Remove a duplicate PMC CPU number 2016-08-03 01:46:55 +00:00
pmckern.h Use __predict_false() on sensitive lock paths as most of the times, 2014-01-07 14:03:42 +00:00
pmclog.h Add software PMC support. 2012-03-28 20:58:30 +00:00
poll.h Add the ppoll() system call. 2014-11-13 05:26:14 +00:00
posix4.h Remove single-use macros obfuscating malloc(9) and free(9) calls. 2015-08-30 17:58:11 +00:00
power.h
priority.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
priv.h Add support to priority code point (PCP) that is an 3-bit field 2016-06-06 09:51:58 +00:00
proc.h Add PROC_TRAPCAP procctl(2) controls and global sysctl kern.trap_enocap. 2016-09-21 08:23:33 +00:00
procctl.h Add the foundation copyrights to procctl kernel sources. 2016-09-23 12:32:20 +00:00
procdesc.h Introduce the PD_CLOEXEC for pdfork(2). 2016-06-08 02:09:14 +00:00
procfs.h Include process IDs in core dumps. 2016-07-18 15:14:23 +00:00
protosw.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
ptio.h
ptrace.h Add PTRACE_VFORK to trace vfork events. 2016-07-18 14:53:55 +00:00
queue.h queue.3: Document existing QMD_* macros 2016-11-11 20:44:33 +00:00
racct.h Get rid of rctl_lock; use racct_lock where appropriate. The fast paths 2016-04-21 16:22:52 +00:00
random.h Random bit generator (RBG) driver for RPi and RPi2. 2016-07-19 18:07:47 +00:00
rangelock.h Change the queue of locks in kern_rangelock.c from holding lock requests in 2013-08-15 20:19:17 +00:00
rctl.h Add four new RCTL resources - readbps, readiops, writebps and writeiops, 2016-04-07 04:23:25 +00:00
reboot.h Kernel part of reroot support - a way to change rootfs without reboot. 2015-09-18 17:32:22 +00:00
refcount.h Drop the 3rd clause from all 3 clause BSD licenses where I am the sole 2014-02-05 18:13:27 +00:00
regression.h
resource.h Define the id_t type as required by POSIX. 2016-06-01 07:45:03 +00:00
resourcevar.h Implement process-shared locks support for libthr.so.3, without 2016-02-28 17:52:33 +00:00
rman.h Consistently use device_t 2016-08-09 19:32:06 +00:00
rmlock.h Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). 2014-12-13 21:00:10 +00:00
rtprio.h
runq.h
rwlock.h Microoptimize locking primitives by avoiding unnecessary atomic ops. 2016-06-01 18:32:20 +00:00
sbuf.h Add support for reading MAM attributes to camcontrol(8) and libcam(3). 2015-06-09 21:39:38 +00:00
sched.h Let <sched.h> define struct timespec. 2016-05-31 08:07:40 +00:00
sdt.h sdt: annotate the probe test as likely to fail 2016-06-15 08:34:36 +00:00
select.h Drop explicit unsigned from FD_SETSIZE constant 2014-04-28 13:42:41 +00:00
selinfo.h
sem.h Get function prototypes for msg, shm, sem functions 2015-07-30 18:59:01 +00:00
sema.h
seq.h Remove cpu_spinwait after seq_consistent. 2016-12-30 06:26:17 +00:00
serial.h
sf_buf.h Use bogus_page to properly reduce number of I/Os in sendfile(2). The new 2016-11-17 21:02:55 +00:00
sglist.h Add sglist functions for working with arrays of VM pages. 2016-05-20 23:28:43 +00:00
shm.h Add shmatt_t. 2016-07-26 17:23:49 +00:00
sigio.h
signal.h Add PROC_TRAPCAP procctl(2) controls and global sysctl kern.trap_enocap. 2016-09-21 08:23:33 +00:00
signalvar.h Provide helper macros to detect 'non-silent SBDRY' state and to 2016-07-03 18:19:48 +00:00
sleepqueue.h fail(9): Only gather/print stacks if STACK is enabled 2016-03-17 01:05:53 +00:00
slicer.h Create a RouterBoard platform and use it to create a flash map 2015-08-22 05:50:18 +00:00
smp.h new x86 smp topology detection code 2016-04-04 16:09:29 +00:00
snoop.h
sockbuf.h Refactor the AIO subsystem to permit file-type-specific handling and 2016-03-01 18:12:14 +00:00
socket.h Set MORETOCOME for AIO write requests on a socket. 2017-01-06 23:41:45 +00:00
socketvar.h capsicum: propagate rights on accept(2) 2016-09-22 09:58:46 +00:00
sockio.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
sockopt.h
sockstate.h
soundcard.h Don't test for INKERNEL to check whether we're in kernel space. 2016-06-04 18:57:00 +00:00
spigenio.h [spigen] add the userland ioctl API for spigen. 2016-05-27 01:40:33 +00:00
stack.h Add stack_save_td_running(), a function to trace the kernel stack of a 2015-09-11 03:54:37 +00:00
stat.h Add futimens and utimensat system calls. 2015-01-23 21:07:08 +00:00
statvfs.h
stdatomic.h Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4 2014-04-01 14:46:11 +00:00
stddef.h
stdint.h Move intmax_t and uintmax_t type declarations to sys/_stdint.h to give 2015-11-07 12:30:43 +00:00
sun_disklabel.h
sx.h Microoptimize locking primitives by avoiding unnecessary atomic ops. 2016-06-01 18:32:20 +00:00
syscall.h Regen after r310638. 2016-12-27 20:22:17 +00:00
syscall.mk Regen after r310638. 2016-12-27 20:22:17 +00:00
syscallsubr.h Rename the 'flags' argument to getfsstat() to 'mode' and validate it. 2016-12-27 20:21:11 +00:00
sysctl.h Revert accidental change made in r310056. 2016-12-14 13:35:33 +00:00
sysent.h Split MAKE_SYSENT into two parts so that the initializer part can be 2016-07-25 08:13:50 +00:00
syslimits.h
syslog.h Add static/const keywords to the arrays. 2013-04-09 16:16:34 +00:00
sysproto.h Regen after r310638. 2016-12-27 20:22:17 +00:00
systm.h Add __scanflike attributes to the kernel's sscanf() and vsscanf() 2016-12-16 19:49:22 +00:00
taskqueue.h Update iflib to support more NIC designs 2016-08-12 21:29:44 +00:00
terminal.h vt(4): Adjust the cursor position after changing the window size 2014-11-01 17:05:15 +00:00
termios.h
thr.h
tiio.h
time.h Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
timeb.h
timeet.h Constify the pointers to eventtimer and timecounter name strings. 2015-08-13 14:43:25 +00:00
timeffc.h
timepps.h Implement a mechanism for making changes in the kernel<->driver PPS 2015-05-04 17:59:39 +00:00
timers.h
times.h
timespec.h
timetc.h Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
timex.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
tree.h Provide individual prototype and generate macros for the red-black tree. 2015-01-24 12:43:36 +00:00
tty.h Rework tty_drain() to poll the hardware for completion, and restore 2017-01-12 00:48:06 +00:00
ttycom.h
ttydefaults.h Add static/const keywords to the arrays. 2013-04-09 16:16:34 +00:00
ttydevsw.h - Make the code consistent with itself style-wise and bring it closer 2016-01-25 22:58:06 +00:00
ttydisc.h
ttyhook.h
ttyqueue.h
turnstile.h Typo in comment. 2016-05-12 06:20:26 +00:00
types.h Pollute more places with off64_t and add __off64_t 2016-05-12 21:18:17 +00:00
ucontext.h POSIX states that #include <signal.h> shall make both mcontext_t and 2016-02-12 07:38:19 +00:00
ucred.h Call crextend() before copying old credentials to the new credentials 2016-01-14 10:16:25 +00:00
uio.h Add asynchronous command support to the pass(4) driver, and the new 2015-12-03 20:54:55 +00:00
umtx.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
un.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
unistd.h Define _POSIX_PRIORITY_SCHEDULING as 0. 2017-01-07 12:24:45 +00:00
unpcb.h Handle races with listening socket close when connecting a unix socket. 2016-08-08 20:25:04 +00:00
user.h Export the whole thread name in kinfo_proc 2016-12-07 15:04:22 +00:00
utsname.h
uuid.h Decouple the UUID generator from network interfaces by having MAC 2013-07-24 04:24:21 +00:00
vdso.h hyperv: Implement userspace gettimeofday(2) with Hyper-V reference TSC 2016-12-19 07:40:45 +00:00
vmem.h Make ZFS ARC track both KVA usage and fragmentation. 2015-04-03 14:45:48 +00:00
vmmeter.h Remove PG_CACHED-related fields from struct vmmeter, because they are no 2016-11-22 18:13:46 +00:00
vnode.h vfs: add vrefact, to be used when the vnode has to be already active 2016-12-12 15:37:11 +00:00
vtoc.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
wait.h The si_status field of the siginfo_t, provided by the waitid(2) and 2015-07-18 09:02:50 +00:00
watchdog.h watchdogd(8) and watchdog(4) enhancements. 2013-02-27 19:03:31 +00:00
zlib.h Move zlib.c from net to libkern. 2015-04-22 14:38:58 +00:00
zutil.h Move zlib.c from net to libkern. 2015-04-22 14:38:58 +00:00