freebsd-dev/sys/i386/ibcs2
Brian Feldman 13ccadd4b0 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty
far-reaching in fd-land, so you'll want to consult the code for
changes.  The biggest change is that now, you don't use
	fp->f_ops->fo_foo(fp, bar)
but instead
	fo_foo(fp, bar),
which increments and decrements the fp refcount upon entry and exit.
Two new calls, fhold() and fdrop(), are provided.  Each does what it
seems like it should, and if fdrop() brings the refcount to zero, the
fd is freed as well.

Thanks to peter ("to hell with it, it looks ok to me.") for his review.
Thanks to msmith for keeping me from putting locks everywhere :)

Reviewed by:	peter
1999-09-19 17:00:25 +00:00
..
coff.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_dirent.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_errno.c Added 3 new errno values, requred by various standards: EOVERFLOW, 1998-12-14 18:54:04 +00:00
ibcs2_errno.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_fcntl.c This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
ibcs2_fcntl.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_ioctl.c This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
ibcs2_ioctl.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_ipc.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_ipc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_isc_syscall.h Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_isc_sysent.c Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_isc.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_misc.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_mount.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_msg.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_other.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_poll.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_proto.h Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_signal.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_signal.h Rename struct members sa_siginfo. POSIX reserves identifiers starting 1999-07-06 06:55:29 +00:00
ibcs2_socksys.c Suser() simplification: 1999-04-27 11:18:52 +00:00
ibcs2_socksys.h Move the "retval" (3rd) parameter from all syscall functions and put 1997-11-06 19:29:57 +00:00
ibcs2_stat.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 01:59:53 +00:00
ibcs2_stat.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_statfs.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_stropts.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_syscall.h Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_sysent.c Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_sysi86.c Suser() simplification: 1999-04-27 11:18:52 +00:00
ibcs2_sysvec.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_termios.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_time.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_types.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_unistd.h Import of original NetBSD's ibcs2 emulator sources by Scott Bartram, 1995-10-10 07:27:24 +00:00
ibcs2_ustat.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_util.c Removed unused #includes. 1997-07-20 09:39:51 +00:00
ibcs2_util.h Removed the cast to a pointer in the definition of PS_STRINGS and 1998-12-16 16:28:58 +00:00
ibcs2_utime.h Remove old files no longer needed. 1995-10-10 07:59:30 +00:00
ibcs2_utsname.h Do a better fake for uname information returned in utssys() call. 1995-10-16 05:32:20 +00:00
ibcs2_xenix_syscall.h Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_xenix_sysent.c Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
ibcs2_xenix.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ibcs2_xenix.h Regen after Id->FreeBSD 1999-08-28 02:35:56 +00:00
imgact_coff.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Makefile $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.conf $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.isc $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.isc.conf $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.master $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.xenix $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.xenix.conf $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00