NetBSD/sys/sys
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
..
acct.h
ansi.h
ataio.h
audioio.h Add a field in mixer_devinfo_t that indicates the minimum delta to 2000-12-29 10:00:08 +00:00
boot_flag.h remove some lint 2001-04-30 01:13:20 +00:00
bswap.h
buf.h Update b_proc comment to reality. 2001-06-10 18:43:25 +00:00
callout.h
cdefs_aout.h
cdefs_elf.h check __LEADING_UNDERSCORE instead of __sh3__ 2001-02-25 15:49:58 +00:00
cdefs.h Add a __static_cast() macro to help standard headers when used in C++ 2001-05-06 14:04:58 +00:00
cdio.h
chio.h
clist.h
conf.h Add l_poll' to struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
core.h
device.h Remove trailing , from last enum element. 2000-12-01 02:07:04 +00:00
dir.h
dirent.h
disk.h
disklabel_mbr.h add MBR_IS_EXTENDED() to detect one of the extended MBR partition types 2000-12-24 13:30:51 +00:00
disklabel.h Protect #include <sys/types.h> by #ifndef _LOCORE. <sys/types.h> isn't 2001-04-03 20:25:22 +00:00
dkbad.h
dkio.h Define __HAVE_OLD_DISKLABEL in <machine/types.h> for i386 (where the 2001-01-07 17:55:40 +00:00
dkstat.h
domain.h
dvdio.h Add RCSid. 2001-01-08 08:37:12 +00:00
endian.h
envsys.h
errno.h
event.h freebsd kqueue implementation 2001-02-24 11:11:36 +00:00
eventvar.h
exec_aout.h
exec_coff.h
exec_ecoff.h restructure struct emul and execsw, in preparation to make emulations LKMable: 2000-11-21 00:37:49 +00:00
exec_elf.h ElfNN_RelA -> ElfNN_Rela, which I missed in the Great Renaming; 2001-04-25 12:18:48 +00:00
exec_script.h
exec.h remove some lint 2001-04-30 01:13:20 +00:00
extent.h
fcntl.h
fdio.h
featuretest.h
file.h Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
filedesc.h Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
filio.h
fnv_hash.h A generic implementation of the Fowler/Noll/Vo hash (FNV hash), 2001-03-20 02:10:18 +00:00
gmon.h
inttypes.h * Move definitions of exact-width integer types from <machine/types.h> 2001-04-28 15:41:28 +00:00
ioccom.h
ioctl_compat.h
ioctl.h Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
ipc.h
kcore.h
kernel.h
kgdb.h
kthread.h
ktrace.h utrace(2): limit size of user data to KTR_USER_MAXLEN (currently 2048); return EINVAL if 'len' is bigger 2001-01-05 22:25:26 +00:00
lkm.h LMREADY actually takes a `u_long' (really, a pointer). 2001-02-25 17:44:15 +00:00
localedef.h C99: add new parameters int_p_cs_precedes, int_n_cs_precedes, 2001-01-02 10:53:24 +00:00
lock.h Add a simple_lock_only_held() LOCKDEBUG routine, which allows code 2001-06-05 04:38:08 +00:00
lockf.h
Makefile * Move definitions of exact-width integer types from <machine/types.h> 2001-04-28 15:41:28 +00:00
malloc.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
map.h
mbuf.h Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
md4.h in-kernel MD4 implementation, from libc 2000-12-08 06:29:23 +00:00
md5.h
midiio.h
mman.h
mount.h #ifdef __STDC__ -> #if __STDC__ 2001-01-24 20:34:59 +00:00
msg.h
msgbuf.h
mtio.h
namei.h add ddb commands "show uvmexp" and "show ncache". 2000-11-24 07:25:50 +00:00
null.h
param.h 1.5W -- hardware IPv4/TCP/UDP checksumming support. 2001-06-03 02:48:45 +00:00
poll.h
pool.h Jason's last fix broke builds with POOL_DIAGNOSTIC (the kernel didn't link 2001-06-06 22:00:17 +00:00
proc.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
protosw.h Add a protosw flag, PR_ABRTACPTDIS (Abort on Accept of Disconnected 2001-03-21 19:22:27 +00:00
ptrace.h The trace_req() function is a no-op; garbage collect it. 2001-06-13 16:06:27 +00:00
queue.h more fun with QUEUEDEBUG: include the file and line number in panics 2001-05-27 01:36:47 +00:00
reboot.h
resource.h
resourcevar.h remove some lint 2001-04-30 01:13:20 +00:00
rnd.h
scanio.h
sched.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
scsiio.h Define SCBUSIOLLSCAN: perform a low-level bus scan. 2000-11-08 19:09:30 +00:00
select.h convert to ANSI KNF 2001-02-26 16:24:02 +00:00
sem.h
sha1.h
shm.h SHMLBA: 2001-05-10 10:50:51 +00:00
signal.h remove some lint 2001-04-30 01:13:20 +00:00
signalvar.h add an extern for the coredump32 hook. 2001-06-06 21:46:59 +00:00
socket.h * Replace a couple of cases of u_char and u_short with uint8_t and uint16_t, 2001-05-05 12:47:58 +00:00
socketvar.h implement the recently introduced EMUL_BSD_ASYNCIO_PIPE emulation package 2001-05-06 19:22:32 +00:00
sockio.h Implement support for IP/TCP/UDP checksum offloading provided by 2001-06-02 16:17:09 +00:00
stat.h
stdint.h * Move definitions of exact-width integer types from <machine/types.h> 2001-04-28 15:41:28 +00:00
swap.h add SWAP_GETDUMPDEV command. 2000-11-17 11:32:55 +00:00
syscall.h Regen. 2001-04-10 11:06:20 +00:00
syscallargs.h regen for whitespace cleanup 2001-05-24 06:44:30 +00:00
sysctl.h Fix current KERN_MAXID - it was one too many. 2001-05-04 15:50:13 +00:00
syslimits.h build CHILD_MAX to 160. 80 has proved consistently not enough. 2001-03-28 08:45:34 +00:00
syslog.h
systm.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
tablet.h
termios.h
time.h remove some lint 2001-04-30 01:13:20 +00:00
timeb.h
timepps.h
times.h
timex.h
tprintf.h
trace.h
tty.h _KERNEL_OPT is your friend. 2001-06-08 15:43:34 +00:00
ttychars.h
ttycom.h Add TIOC[SG]LINED to handle symbolic line discipline names. 2000-11-01 23:46:55 +00:00
ttydefaults.h
ttydev.h
types.h * Move definitions of exact-width integer types from <machine/types.h> 2001-04-28 15:41:28 +00:00
ucred.h
uio.h
un.h
unistd.h
unpcb.h
user.h
utsname.h
vadvise.h
vmmeter.h
vnode_if.h regen. 2001-05-26 21:34:04 +00:00
vnode.h Implement page coloring, using a round-robin bucket selection 2001-04-29 04:23:20 +00:00
wait.h Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
wdog.h Interface definition for watchdog timers. 2000-11-04 18:33:33 +00:00